我的项目需要一个条形图,我已经在我的项目中包含了MPAndroid图表库。但是,它没有成功,它给出了以下信息。
Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction!
Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction!
我知道这个错误的原因,因为我在我的项目中包含了超出Android限制的其他库。 其中一种方法是使用另一种方法较少的库。但是,如果我想使用这个库,是否有任何方法,以便我减少库的大小,以达到我的目标。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以在build.gradle
中启用 Jumbo模式。在再次同步gradle之前,请更改以下行并清理项目。
android {
dexOptions {
jumboMode = true
}
}
您还可以启用 Multi Dex
android {
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 23
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
如here所示,Jumbo Mode和Multi Dex之间的区别是:
Jumbo Mode ,在阅读https://source.android.com/devices/tech/dalvik/dalvik-bytecode.html时,const-string / jumbo是字符串的巨型模式。这是关于操作码," op vAA,string @ BBBBBBBB" vs" op vAA,string @ BBBB",32位与16位。
Multi Dex 允许从多个dex文件加载类。主classes.dex必须包含调用此类方法所需的类。在首次调用MultiDex.install(Context)后,应用程序apk中的辅助dex文件将被添加到类加载器中,请参阅https://developer.android.com/reference/android/support/multidex/MultiDex.html