我正在尝试创建一个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上才能使这种方法可行?
谢谢。
答案 0 :(得分:0)
注意:您不能将compileOnly配置与AAR依赖项一起使用。 引用来自:https://developer.android.com/studio/build/dependencies
我认为这可能是由jar中打包的资源引起的,可以只编译类文件,但是资源呢