淺談Android解決65535問題的方法
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexIndexOverflowException: Cannot merge new index 66125 into a non-jumbo instruction!
Android應(yīng)用以DEX文件的形式存儲(chǔ)字節(jié)碼文件,在Dalvik字節(jié)碼規(guī)范里,方法引用索引method referenceindex只有16位,即65536個(gè)。dex里方法只能索引65536個(gè)
因?yàn)轫?xiàng)目中引用大量的第三方j(luò)ar包或者采用mvp模式來寫代碼,從而導(dǎo)致方法的個(gè)數(shù)超過了65535 Goole給出的官方分包方法是:
1:
android { ... defaultConfig { ... //分包 65535 multiDexEnabled true } } 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" ... > ... <activity android:name=".MainActivity"> </activity> </application>
2.2:如果自己寫了application那就用自己的application繼承MultiDexApplication
public class MyApplication extends MultiDexApplication{}
2.3:如果自己寫的application繼承了別的application就在自己的application里重寫attachBaseContext方法
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
以上這篇淺談Android解決65535問題的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android 錄音與播放功能的簡(jiǎn)單實(shí)例
這篇文章主要介紹了 Android 錄音與播放功能的簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06Android編程基于重力傳感器實(shí)現(xiàn)橫豎屏放向切換功能
這篇文章主要介紹了Android編程基于重力傳感器實(shí)現(xiàn)橫豎屏放向切換功能,結(jié)合具體實(shí)例形式分析了Android基于重力傳感器實(shí)現(xiàn)橫豎屏切換的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01基于Flutter實(shí)現(xiàn)動(dòng)態(tài)高斯模糊的流程步驟
一個(gè)App加上高斯模糊會(huì)形成一種高級(jí)的感覺,本文將介紹如何制作一個(gè)根據(jù)背景內(nèi)容來動(dòng)態(tài)高斯模糊,文中有詳細(xì)的代碼實(shí)現(xiàn)步驟,代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11Android實(shí)現(xiàn)倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)倒計(jì)時(shí)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10Android TextView設(shè)置不同的顏色字體
這篇文章主要為大家詳細(xì)介紹了Android TextView設(shè)置不同的顏色字體,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12