- Android 应用方法数不能超过65K的问题
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
解决方案 :
在当前应用build.gradle里面添加multiDexEnabled true
android {
defaultConfig {
multiDexEnabled true
}
}
或者
android {
dexOptions {
javaMaxHeapSize "4g"
}
}
- 依赖包重复问题
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/xx.xx.xx/xx/pom.xml
解决方案 :
找到重复导入的包,根据情况删除
- 使用本地aar依赖
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
dependencies {
compile(name:'test', ext:'aar')
// compile 'group:name:version@aar'(远程)
}
本文介绍了解决Android应用中遇到的DEX文件方法数超过65K导致的构建错误的方法。提供了两种解决方案:一是启用MultiDex支持;二是增加dexOptions中的Java最大堆内存设置。此外,还讨论了依赖包重复问题及其解决方案。

被折叠的 条评论
为什么被折叠?



