android 技术知识

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);
    }

结果因为项目工程太大,还是会出现上面的报错的话,可以尝试一下如下的做法:

    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
    }

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


https://www.jianshu.com/p/fe27d51ebc77

上一篇下一篇

猜你喜欢

热点阅读