MPAndroid Chart:“无法执行dex”问题

时间:2016-02-24 05:10:31

标签: android mpandroidchart

我的项目需要一个条形图,我已经在我的项目中包含了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限制的其他库。 其中一种方法是使用另一种方法较少的库。但是,如果我想使用这个库,是否有任何方法,以便我减少库的大小,以达到我的目标。

2 个答案:

答案 0 :(得分:1)

在project.properties

的第一行添加dex.force.jumbo=true

请参阅here

我希望它可以帮到你。

答案 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