我有一个多模块的Android应用程序,当我构建发行版APK时,我得到了这个dex错误:
java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/XX/package-info;当然,我的所有模块中都有一个package-info文件,它们都有相同的名称。
为什么dex甚至关心package-info文件,我如何配置它来忽略它们?
注意:我做了,而不是想要启用多重dex。
发布于 2017-03-26 07:45:21
解决方案是从jar文件中排除package-info文件。
要在build.gradle文件中使用的示例代码
用于java-模块
jar {
exclude('com/**/package-info.*')
}对于android-modules
android {
sourceSets.main.java.filter.exclude 'com/**/package-info.*'
}与以下方面合作:
3.0 Canary 54.1-milestone-13.0.0-alpha5备注:当然,只有当package-info文件对您的构建没有贡献时,它们才能被排除在外!
例如,当您在您的不可变样式-配置文件中使用package-info文件时,您不能将这些文件排除在构建之外,因为生成的文件的名称可能会更改!
https://stackoverflow.com/questions/43016620
复制相似问题