首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从dex中排除包info.java文件?

如何从dex中排除包info.java文件?
EN

Stack Overflow用户
提问于 2017-03-25 12:57:04
回答 1查看 1K关注 0票数 1

我有一个多模块的Android应用程序,当我构建发行版APK时,我得到了这个dex错误:

代码语言:javascript
复制
java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/XX/package-info;

当然,我的所有模块中都有一个package-info文件,它们都有相同的名称。

为什么dex甚至关心package-info文件,我如何配置它来忽略它们?

注意:我做了,而不是想要启用多重dex。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-26 07:45:21

解决方案是从jar文件中排除package-info文件。

要在build.gradle文件中使用的示例代码

用于java-模块

代码语言:javascript
复制
jar {
    exclude('com/**/package-info.*')
}

对于android-modules

代码语言:javascript
复制
android {
    sourceSets.main.java.filter.exclude 'com/**/package-info.*'
}

与以下方面合作:

  • 安卓工作室3.0 Canary 5
  • 分级4.1-milestone-1
  • 安卓gradle插件:3.0.0-alpha5

备注:当然,只有当package-info文件对您的构建没有贡献时,它们才能被排除在外!

例如,当您在您的不可变样式-配置文件中使用package-info文件时,您不能将这些文件排除在构建之外,因为生成的文件的名称可能会更改!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43016620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档