在打包APK期间复制文件

时间:2013-09-11 02:36:52

标签: android jar gradle android-studio

我使用的是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” 我已将ResSrc文件夹打包到一个jar文件中,其中包含来自eclipse的源代码(就像我使用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文件中获取重复项...这里发生了什么!?

2 个答案:

答案 0 :(得分:-1)

这发生在我身上。我从eclipse adt导出jar,我得到了同样的错误。我通过使用WinRAR打开jar文件解决了这个问题并删除了除两个文件夹之外的所有文件夹:META-INF和类的包文件夹,在我的情况下是com文件夹。 在我的情况下,这是因为jar中的AndroidManifest.xml文件。 在您的情况下,这是因为res / values / attrs.xml但可能存在其他冲突,并且此文件是第一个冲突。

我希望这会有所帮助。

答案 1 :(得分:-4)

你会在导出的jar的bin/文件夹中找到另一个jar;用那个。