下面简单介绍一下Android解决65535问题的方法,有很好的参考价值。希望对你有帮助。来和边肖一起看看吧。
错误:将字节码转换为dex时出错:
原因:com . Android . dex . dexindexoverflowexception:无法将新索引66125合并到非jumbo指令中!
Android应用程序以DEX文件的形式存储字节码文件。在Dalvik字节码规范中,方法referenceindex只有16位,即65,536。dex中的方法只能索引65536。
由于项目大量引用第三方jar包或者采用mvp模式写代码,方法数量超过65535 Goole官方给出的Goole分包方法是:
1:
android {
.
defaultConfig {
.
//分包65535
多重可解真
}
}
依赖关系{
.
//分包65535
编译“com . Android . support:multi dex:1 . 0 . 0”
}
2:
2.1“在AndroidManifest.xml的应用中声明Android . support . multi dex . multi dex application;
应用
.
Android:name=' Android . support . multi dex . multi dex application '
.
.
活动android:name='。'主要活动'
/活动
/应用程序
2.2:如果自己写应用,可以用自己的应用继承MultiDexApplication。
公共类MyApplication扩展MultiDexApplication { }
2.3:如果你写的应用继承了其他应用,那么在你自己的应用中重写attachBaseContext方法。
@覆盖
受保护的void attachBaseContext(Context base){
super . attachbasecontext(base);
multi dex . install(this);
}
以上关于Android解决65535问题的讨论都是边肖分享的内容。希望能给大家一个参考,多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。