java - BuildConfig 多个 dex 文件错误 (Gradle 3.0.1)

标签 java android android-gradle-plugin build.gradle android-multidex

我的项目有多个模块,其中一个模块要求包名与“app”模块相同。当我编译项目并运行时,它运行得很好,但是当我尝试构建发布 APK 时,它显示以下错误:

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/sumit/example/BuildConfig;
Error:com.android.dex.DexException: Multiple dex files define Lcom/sumit/example/BuildConfig;
Error:  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForRelease'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/sumit/example/BuildConfig;
Information:BUILD FAILED in 1m 42s

我在 gradle 文件中启用了 multidex 支持,还在主应用程序类中包含了 multidex 安装功能。

我唯一能想到的是,由于存在多个与其他模块具有相同包名称的 BuildConfig 类,它们将包名称共享为应用模块。

关于如何解决这个问题的任何帮助?我们可以解决这个让两个模块共享一个包名的问题吗?

最佳答案

尝试在您的库模块中添加 packageBuildConfig(false):

android{
  ...
  packageBuildConfig(false)
}

关于java - BuildConfig 多个 dex 文件错误 (Gradle 3.0.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47719217/

相关文章:

java - 在没有正在进行的事务的情况下如何进行外部调用?

java - 尝试使用 libGDX 编码时出现错误

java - 使用 GetDefaultSharedPreferences - 在 Activity 之间重置 SharedPref 值

android - 在浏览器中工作的本地主机上的 WCF 服务在 PhoneGap 中不工作

java - 着色器android错误: "Invalid version shader"

gradle - 查找与 buildType 关联的所有任务?

java - Java中的正则表达式具有多个条件来提取算术运算符

Android-Studio 数据绑定(bind)不起作用

android - 错误 :org. gradle.internal.UncheckedException: 构建命令失败

java.util.zip.ZipException : duplicate entry after FireBase add