android方法数超过64k和Gradle编译OOM解决方法
16lz
2021-01-26
在上一篇讲集成极光推送的时候,楼主就碰到了这两个问题,之前项目就已经够大了,已经集成了各种各样的第三方库了,这个极光推送就成了压倒骆驼的最后一根稻草。
64k报错如下
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
OOM报错如下 Error:Execution failed for task ':app:dexDebug'. ... Error Code: 3 Output: UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: GC
博主首先想到的是既然方法数超过了64k,那就删删第三方多余的包呗,然后把百度地图的包删的只留下了2个。然后运行,还是超过了,那就百度解决方案。 1.很简单方法如下:在Modules里面的build.gradle里面配置
defaultConfig { multiDexEnabled true}dependencies { compile 'com.android.support:multidex:1.0.1'}
在自定义的Application里面重写 @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
然后就ok了。 2.然后就是解决jvm的OOM了,办法也很简单。找到项目的gradle.properties文件在里面添加3句代码如下:
org.gradle.daemon=trueorg.gradle.parallel=trueorg.gradle.jvmargs=-Xmx2024m
最下面那个数字你谁便改,你开心又不报错就好。 更多相关文章
- React Native 项目运行在安卓模拟器Http请求报错
- Android(安卓)开源项目第三篇——优秀项目篇
- Android(安卓)游戏框架 libgdx 学习笔记 - 简介
- webrtc服务器janus android客户端编译学习三
- Android混合开发之------ AndroidStudio集成Cordova项目
- 【项目架构】Android(安卓)MVP 和MVVM框架模式 学习实例Demo之mv
- 第一个android 程序的学习心得
- Android(安卓)studio 使用ndk开发JNI
- 第五章 Android加载PDF文件的使用