如何在sbt-android-sdk插件中排除LICENSE文件?

时间:2014-05-21 07:00:53

标签: android scala sbt

我正在使用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的新手,并且不知道该怎么做。

2 个答案:

答案 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("...")吗?由于我已经应用了这个技巧,我无法再验证这个想法。