我正在使用https://github.com/pfn/android-sdk-plugin使用Scala构建我的Android应用。当我运行sbt android:package
时,我收到了此错误:
com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
File 1: ...ivy2\cache\org.apache.httpcomponents\httpcore\jars\httpcore-4.0.1.jar
File 2: ...ivy2\cache\org.apache.httpcomponents\httpcore\jars\httpcore-4.0.1.jar
我搜索了一段时间,人们说我可以设置packageOptions
来排除许可证。但我是Scala的新手,并且不知道该怎么做。
答案 0 :(得分:2)
apkbuildExcludes in Android += "META-INF/LICENSE.txt"
在您的情况下,“META-INF / LICENSE”。
https://github.com/pfn/android-sdk-plugin
查看新功能部分。
答案 1 :(得分:0)
来自https://code.google.com/p/android/issues/detail?id=61573#c14的技巧解决了我的问题:
find .../path/to/package/caches/ -iname "*.jar" -exec zip -d '{}' 'META-INF/*' \;
在 gradle 中,他们有:
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
可能是插件可以packageOptions in Adroid += exclude("...")
吗?由于我已经应用了这个技巧,我无法再验证这个想法。