Ale*_*uer 0 android jar gradle aar
我正在开发一个工作的android库,我们正在使用maven存储库中没有的一些jar.但是,我们在法律上不允许将这些罐装入我们的库中,除了我们的库之外,消费者必须自己获取这些罐子.
我的问题是,我似乎无法要求我们的库的消费者提供这些罐子(我正在使用包含aar的测试应用程序).我试过这个类似问题的解决方案无济于事.
我已经尝试将它们设置为provided而不是compile在我的gradle文件中:
// Neither of these seem to fix the problem
compile files('libs/externalDep.jar')
provided files('libs/externalDep.jar')
Run Code Online (Sandbox Code Playgroud)
我也尝试将它们排除在包装选项中:
packagingOptions { exclude 'libs/externalDep.jar }`
Run Code Online (Sandbox Code Playgroud)
我可以通过将其添加到android我的标签中来排除它们build.gradle:
android.libraryVariants.all { variant ->
variant.outputs.each { output ->
def packageLib = output.getPackageLibrary()
packageLib.exclude('libs/externalDep.jar')
}
Run Code Online (Sandbox Code Playgroud)
他们没有被添加到aar但是构建测试应用程序给了我:
com.android.build.api.transformTransformException:
com.android.builder.packaging.DuplicateFileException:
Duplicate files copied in APK VERSION.txt
File1: path/to/jar/in/test/app/project/externalDep.jar
File2: path/to/build/intermediates/exploded-aar/.../jars/classes.jar
Run Code Online (Sandbox Code Playgroud)
为了澄清,我并不关心maven repo依赖,那些工作正常.我只是希望使用该库的人必须获得并添加我们正在使用的那些罐子.
当然,有一个不太复杂的方式来指定这个?
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |