首先你需要去查询项目中是否导入了重复的包,删除
其次:使用分割 Dex 文件解决方法限制
在gradle中添加:
compile 'com.android.support:multidex:1.0.1'
打开AndroidManifest文件中:如果你的application不是自定义的:
<?xml version="1.0" encoding="utf-8"?>2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
如果不是自定义的,你需要在你的application中重写,并添加MultiDex.install(this);
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
运行,再次打包应该会解决问题
如果还是没有运行成功,出现
Android:java.lang.OutOfMemoryError: GC overhead limit exceeded Error:Execution failed for task ':app:transformClassesWithDexForWandoujiaRelease'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java
需要在gradle文件中添加:
dexOptions { jumboMode true javaMaxHeapSize "4g" }即可