解决android studio上“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”问题(
仓廪实则知礼节,衣食足则知荣辱。这篇文章主要讲述解决android studio上“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”问题(相关的知识,希望能为你提供帮助。
文章图片
我是在更换应用的一个jar包时发生的这个错误,网上查到说是因为同时在工程中引入了多个第三方jar包,导致调用的方法数超过了android设定的65935个(DEX 64K problem),进而导致dex无法生成,也就无法生成APK文件。
解决办法如下:
1、在项目的build.gradle文件的dependencies 节中添加分包设置:
dependencies { ... compile \'com.android.support:multidex:\' ... }
2、通过在defaultConfig节中设置multiDexEnabled标签为true,开启multi-dexing支持.
defaultConfig { ... multiDexEnabled true ... }
3、分三种情况:
【解决android studio上“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”问题(】a.如果你未创建自己的Application.class,直接在AndroidManifest.xml文件的Application声明中添加;
android:name="android.support.multidex.MultiDexApplication"
b.你已经创建了自己的application,那么将你之前继承的android.app.Application换成android.support.multidex.MultiDexApplication
c.如果你的application继承的一些其他类,并且你不想改变它,那么,如下重写attachBaseContext().
public class MyApplication extends FooApplication { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } }
4、编译过程可能内存不足。为了修复它,设置以下
dexOptions { incremental true javaMaxHeapSize "4g" }
5、重新build,生成签名APK,安装使用正常。
(PS:我是在使用1、2步之后就编译安装OK,所以并没有往下走了
文章图片
)
参考:http://www.cnblogs.com/yeahgis/p/4660873.html
http://stackoverflow.com/questions/27377080/after-update-of-as-to-1-0-getting-method-id-not-in-0-0xffff-65536-error-i
推荐阅读
- Android高效内存之让你的图片省内存
- Android问题-“signaturs do not match the previously installed version”
- WebRTC之Android客户端
- Android实例-红外线操作(XE10.2+小米5)
- Android Studio 快速开发
- 如何在MacOS上安装WordPress
- 如何在MacOS上安装VLC
- 如何在MacOS上安装Sublime Text
- 如何在MacOS上安装OpenOffice