Дублировать файлы во время упаковки APK
Я использую 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
в один файл jar с исходным кодом из eclipse (как и с SlideMenu.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.. что здесь происходит!?
Ответы
Ответ 1
это случилось со мной. Я экспортирую jar из eclipse adt, и я получил ту же ошибку. Я решил проблему, открыв файл jar с помощью WinRAR и удалив все папки, кроме двух папок: META-INF и пакетную папку классов, в моем случае это была папка com.
В моем случае это произошло из-за файла AndroidManifest.xml внутри jar.
В вашем случае это потому, что res/values /attrs.xml, но могут возникнуть другие конфликты, и этот файл является первым конфликтом.
Надеюсь, это поможет.
Ответ 2
Вы найдете еще одну банку внутри экспортированной jar bin/
папки; используйте этот.