【问题标题】:add library occurred build errors添加库发生构建错误
【发布时间】:2018-10-21 22:39:14
【问题描述】:
出了什么问题?
任务 ':app:transformClassesWithDexForDebug' 执行失败。>
com.android.build.api.transform.TransformException:
java.lang.RuntimeException: java.lang.RuntimeException:
com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException:
java.lang.UnsupportedOperationException
【问题讨论】:
标签:
android
android-studio
【解决方案1】:
Android 程序被编译成 .dex(Dalvik 可执行文件)文件,然后在设备上压缩成单个 .apk 文件。有时,您需要启用 multidex 支持和更大的堆大小来编译具有大 dex 大小的类。为此,请进行以下更改,
首先在build.gradle中添加multidex依赖,
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
更改dexOptions,
android {
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
最后,添加一个扩展多索引支持的单例类,
public class MyApplication extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
打开清单文件并添加单例类,
<application
android:name=".app.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
.....
</application>
【解决方案2】:
在您的构建 gradle 中添加以下内容:
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
像这样在 build.gradle 的 defaultconfig 中添加 multiDexEnabled true
defaultConfig {
multiDexEnabled true
}