問題描述:Android項目引入過多的第三方包時,在編譯成dex文件的時候,單個dex文件中的方法總數超過了65535個,此時就報錯。直白了說就是單個dex文件最多能接受65535個方法。 android
Google已經描述了這一問題,而且頒佈了對應的解決方案。使用Android-support-multidex.jar兼容包來解決。注意:此包只能兼容到api 14,一次4.0一下的系統會有問題。
方案原理:編譯時發現方法總數過多時,將生成多個dex文件,這樣單個文件的方法總數就不會產生65535的問題。 api
一般使用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>
思路基本相同: 1,引入兼容包Android-support-multidex.jar dependencies { compile 'com.android.support:multidex:1.0.0' } 2,配置Application類,或者配置清單文件