Android如何解决65535问题
這篇文章主要介紹Android如何解決65535問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexIndexOverflowException: Cannot merge new index 66125 into a non-jumbo instruction!
Android應用以DEX文件的形式存儲字節(jié)碼文件,在Dalvik字節(jié)碼規(guī)范里,方法引用索引method referenceindex只有16位,即65536個。dex里方法只能索引65536個
因為項目中引用大量的第三方jar包或者采用mvp模式來寫代碼,從而導致方法的個數(shù)超過了65535 Goole給出的官方分包方法是:
1:
android{
...
defaultConfig{
...
//分包65535
multiDexEnabledtrue
}
}
dependencies{
...
//分包65535
compile'com.android.support:multidex:1.0.0'
}
2:
2.1“在AndroidManifest.xml的application中聲明android.support.multidex.MultiDexApplication;
<application ... android:name="android.support.multidex.MultiDexApplication" ... > ... <activityandroid:name=".MainActivity"> </activity> </application>
2.2:如果自己寫了application那就用自己的application繼承MultiDexApplication
publicclassMyApplicationextendsMultiDexApplication{}
2.3:如果自己寫的application繼承了別的application就在自己的application里重寫attachBaseContext方法
@Override
protectedvoidattachBaseContext(Contextbase){
super.attachBaseContext(base);
MultiDex.install(this);
}
總結
以上是生活随笔為你收集整理的Android如何解决65535问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA学习--面向对象的特征二:继承性
- 下一篇: excel表格导入word的方法(Exc