打包 APK 期间文件重复
Posted
技术标签:
【中文标题】打包 APK 期间文件重复【英文标题】:Duplicate files during packaging of an APK 【发布时间】:2013-09-14 22:07:45 【问题描述】:我使用 android Studio,并且我有几个在那里使用的库。
我有:
android-query-full.0.25.10.jar
gson-2.2.4-sources.jar
slide-menu.jar
我在build.gradle
文件中定义了像这样编译整个libs目录:
dependencies
compile 'com.android.support:support-v4:13.0.+'
compile fileTree(dir: 'libs', include: '*.jar')
所有这些都很好。
现在我想添加另一个库“PullToRefresh”
我已将 Res
和 Src
文件夹与来自 eclipse 的源代码打包到一个 jar 文件中(就像我对 SlideMenu.jar 所做的那样),并将新创建的 jar 作为库添加到我的项目中,与所有其他项目相邻。
当我尝试构建我的项目时,我从 gradle 收到以下错误:
Gradle: : duplicate files during packaging of APK C:\Code\TestProject\Test\build\apk\Endilo-debug-unaligned.apk
Gradle: Execution failed for task ':Endilo:packageDebug'.
> Duplicate files copied in APK res/values/attrs.xml
File 1: C:\Code\TestProject\Test\libs\PullToRefresh.jar
File 2: C:\Code\TestProject\Test\libs\PullToRefresh.jar
这很奇怪,因为我从同一个 jar 文件中得到了重复。这里发生了什么!?
【问题讨论】:
Android Gradle plugin 0.7.0: "duplicate files during packaging of APK"的可能重复 @Mortalus : 你好,你找到解决办法了吗? 这是 gradle 版本中的一个错误。升级到最简单的 gradle 为我解决了这个问题@alex tran @Mortalus :哦,我明白了。我可以看到你可以在 Android Studio 中正确使用 2 个或更多 *.jar 文件,而我不能,我总是得到Duplicate files during packaging of APK app-debug-unaligned.apk。我不知道如何解决。你知道吗? 【参考方案1】:这发生在我身上。我从 eclipse adt 导出 jar,我得到了同样的错误。我通过用 WinRAR 打开 jar 文件解决了这个问题,并删除了除两个文件夹之外的所有文件夹:META-INF 和类的包文件夹,在我的情况下它是 com 文件夹。 就我而言,这是因为 jar 中的 AndroidManifest.xml 文件而发生的。 在您的情况下,这是因为 res/values/attrs.xml 但可能还有其他冲突,并且此文件是第一个冲突。
我希望这会有所帮助。
【讨论】:
【参考方案2】:您会在导出的 jar 的 bin/
文件夹中找到另一个 jar;使用那个。
【讨论】:
以上是关于打包 APK 期间文件重复的主要内容,如果未能解决你的问题,请参考以下文章
添加 Firebase 依赖项后 Gradle 同步失败:打包 APK 期间文件重复
在打包期间Gradle重复文件--JodaTime的messages.properties
导入 Jackson-Core-1.x.x 和 Jackson-Mapper-1.x.x 时,我在打包 APK 错误时收到重复文件