如何在AAR中提供compileOnly依赖关系?

时间:2018-10-15 20:58:47

标签: android gradle android-gradle android-library

我正在尝试创建一个Android库 myLibrary ,该库将作为AAR交付给我公司中的其他人。

myLibrary 的许多依赖项都是用于与手机硬件进行通信(条形码扫描等)的API。这些第三方库之一要求使用 compileOnly 而不是 implementation 将其添加到项目中,因为提供的JAR文件包含存根实现。完整的实现由设备提供。

在我的图书馆模块的build.gradle中:

implementation files('libs/Vendor1.jar')
implementation files('libs/Vendor2.jar')
compileOnly files('libs/Vendor3.jar')

在此示例中,设备硬件的Vendor3 API是compileOnly。

我的用例是我希望myLibrary的使用者能够扩展我提供的功能。意思是,如果我有一个MyCoolVendor3Class,并且他们想扩展它并自定义它的某些方面,他们将无法使用Vendor3 API。

如何在不使用实现的情况下向库的使用者提供myLibrary的依赖compileOnly API?还是他们最终需要把手放在Vendor3 Jar上才能使这种方法可行?

谢谢。

1 个答案:

答案 0 :(得分:0)

注意:您不能将compileOnly配置与AAR依赖项一起使用。 引用来自:https://developer.android.com/studio/build/dependencies

我认为这可能是由jar中打包的资源引起的,可以只编译类文件,但是资源呢

相关问题