Android Studio 错误 com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
2016-09-18 10:54
711 查看
第1步
添加依赖于你的build.gradle支持MultiDex库
第2步
在buildType或productFlavor中开启multiDexEnabled。
现在,根据你的项目情况,你有3种选择:
如果你没有创建自己的Application 类,在你的清单文件AndroidManifest.xml中配置
如果你有自己的Application类了,让它继承
如果你的Application继承了其他的类,并且你不想改变或者没办法改变。按照下面的方法重写
[java] view
plain copy
<span style="font-size:18px;color:#ff6666;"> @Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}</span>
不论你选择上面哪种,都会创建多个大小差不多的dex文件代替单个庞大的dex文件。运行的时候回同事加载所有的这些dex文件。
当年编译app的时候,Gradle会生成很多个dex文件和一个apk文件让你可以在设备或者模拟器上运行。
你可以从这个项目看到上面的效果
如果出现了64k 限制 那么应该也会出现 Out of memory 问题
对于有很多依赖的项目,编译可能因为下面的错误中断
在build.gralde android标签下面添加下面代码可以解决
参考文章地址:文章地址
添加依赖于你的build.gradle支持MultiDex库
dependencies { ... compile 'com.android.support:multidex:1.0.1' ... }
第2步
在buildType或productFlavor中开启multiDexEnabled。
defaultConfig { ... multiDexEnabled true ... }
现在,根据你的项目情况,你有3种选择:
如果你没有创建自己的Application 类,在你的清单文件AndroidManifest.xml中配置
android.support.multidex.MultiDexApplication就可以了。
.... android:name="android.support.multidex.MultiDexApplication" ...
如果你有自己的Application类了,让它继承
android.support.multidex.MultiDexApplication而不是
android.app.Application
如果你的Application继承了其他的类,并且你不想改变或者没办法改变。按照下面的方法重写
attachBaseContext()
[java] view
plain copy
<span style="font-size:18px;color:#ff6666;"> @Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}</span>
不论你选择上面哪种,都会创建多个大小差不多的dex文件代替单个庞大的dex文件。运行的时候回同事加载所有的这些dex文件。
当年编译app的时候,Gradle会生成很多个dex文件和一个apk文件让你可以在设备或者模拟器上运行。
你可以从这个项目看到上面的效果
如果出现了64k 限制 那么应该也会出现 Out of memory 问题
对于有很多依赖的项目,编译可能因为下面的错误中断
Error:Execution failed for task ':app:dexDebug'. ... Error Code: 3 Output: UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: GC overhead limit exceeded at com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:326) ...
在build.gralde android标签下面添加下面代码可以解决
dexOptions { incremental true javaMaxHeapSize "4g" }
参考文章地址:文章地址
相关文章推荐
- Android.mk简单分析
- ubuntu 14.10 编译 android 4.4kitkat
- Android Dialog、Toast和Snackbar详解
- android 页面自适应布局实践
- Android string.xml中使用html标签
- CheckBox
- 布局总结
- Android语音识别技术详解及实例代码
- Android android.view.InflateException Binary XML file line #16: Error inflating class button
- 利用 Android Studio 和 Gradle 打包多版本APK
- 使用聚合数据的接口进行的RxAndroid学习
- Android 抓包工具使用方法
- 号线项目,百度SDK定位开发总结
- Android 控件 ListView学习
- Android Studio配置SVN
- android edittext软键盘弹出,底部radioGroup跟着一起上移问题
- Android中surface,surfaceview,sufaceholder以及surface客户端的关系
- 百度语音识别(Baidu Voice) Android studio版本详解
- android系统中自带的一些ThemeStyle
- Android 常用代码工具类