field ID not in [0, 0xffff]: 655
2019-11-15 本文已影响0人
追梦小乐
com.android.dex.DexIndexOverflowException: field ID not in [0, 0xffff]: 65536
如果你的项目工程本身没什么问题,而且还已经加了Google推荐的分包代码,如下所示:
defaultConfig {
multiDexEnabled true
}
public class XxxApplication extends Application {
private static final String TAG = "CcbApplication";
protected void attachBaseContext(Context paramContext) {
super.attachBaseContext(paramContext);
MultiDex.install(this);
}
结果因为项目工程太大,还是会出现上面的报错的话,可以尝试一下如下的做法:
- 主模块build.gradle
dexOptions {
incremental true
preDexLibraries false
javaMaxHeapSize "6g"
additionalParameters = ["--set-max-idx-number=60000"]
keepRuntimeAnnotatedClasses false
// additionalParameters += '--multi-dex'
// additionalParameters += '--set-max-idx-number=59000'
// additionalParameters += '--minimal-main-dex'
jumboMode true
}
- gradle.properties
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
android.enableD8=false
android.useDexArchive=false
- 参考博客: