Error:Error converting bytecode to dex:Cause: com.androID.dex.DexIndexOverflowException: fIEld ID not in [0,0xffff]: 65536Error:Execution Failed for task ':news-app:transformClassesWithDexForDeBUGAndroIDTest'.> com.androID.build.API.transform.transformException: com.androID.IDe.common.process.ProcessException: java.util.concurrent.ExecutionException: com.androID.IDe.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2
这个例外显然是因为达到了multIDex限制.但是我已经为调试版本启用了multi-dex.我想当运行检测测试用例时,它们以调试模式运行.那为什么会发生这种异常呢?
我附加了build.gradle文件
apply plugin: 'com.androID.application'apply plugin: 'io.fabric'androID { compileSdkVersion 22 buildToolsversion 22.0.1 defaultConfig { minSdkVersion 14 targetSdkVersion 22 applicationID "com.xyz" } buildTypes { deBUG { MinifyEnabled false shrinkResources false multIDexEnabled true } release { MinifyEnabled true shrinkResources true multIDexEnabled false } } lintoptions { warning 'InvalIDPackage','GradleCompatible' } dexOptions { preDexlibrarIEs true incremental true jumboMode = true javaMaxHeapSize "4g" } }}}解决方法 得到这个工作.我在应用程序模块的build.gradle中放了multIDexEnabled.但我在其他模块中运行单元测试.事实证明我还需要在该模块中添加multIDexEnabled true.
androID { buildTypes { deBUG { multIDexEnabled true } }}总结
以上是内存溢出为你收集整理的android – 运行单元测试用例时的Multidex限制命中全部内容,希望文章能够帮你解决android – 运行单元测试用例时的Multidex限制命中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)