Android項目Build報錯Unable to execute dx(65535問題解決方案)


問題描述:Android項目引入過多的第三方包時,在編譯成dex文件的時候,單個dex文件中的方法總數超過了65535個,此時就報錯。直白了說就是單個dex文件最多能接受65535個方法。 android

解決方法:

Google已經描述了這一問題,而且頒佈了對應的解決方案。使用Android-support-multidex.jar兼容包來解決。注意:此包只能兼容到api 14,一次4.0一下的系統會有問題。
方案原理:編譯時發現方法總數過多時,將生成多個dex文件,這樣單個文件的方法總數就不會產生65535的問題。 api

一,非gradle構建的項目(eclipse開發項目)解決方案:

一般使用eclipse開發,都是使用的adt構建的項目,出現此問題解決方案就是 app

1 下載`Android-support-multidex.jar`兼容包。
2 將此兼容包放到libs目錄下,並將jar引入過程配置。
3 若是代碼有實現了Application的類,則須要將此類繼承MultiDexApplication類。若是沒有則在AndroidMainfest.xml中加入以下配置。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

2、gradle構建的項目(Android studio默認的構建方式)解決方案

思路基本相同:
1,引入兼容包Android-support-multidex.jar
    dependencies {
      compile 'com.android.support:multidex:1.0.0'
    }
2,配置Application類,或者配置清單文件
相關文章
相關標籤/搜索