android - 如何在 AAR 中提供 compileOnly 依赖项?

标签 android gradle android-gradle-plugin android-library

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

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

在我的库模块的 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 才能使这种方法可行?

谢谢。

最佳答案

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

我觉得可能是jar包的资源造成的,只编译classes文件是可以的,但是资源呢

关于android - 如何在 AAR 中提供 compileOnly 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52824687/

相关文章:

java - 安卓 5 : No more Garbage Collection message?

android - ViewModel 和 AndroidViewModel 有什么区别

android - Android 中带有文本的 RadioButton 边框

gradle - 如何使用gradle设置系统属性?

android - gradle 2.1.0 中的问题 : Application launches with delay of 5-6 seconds

安卓发布及应用上市

ios - 构建 Kotlin MPP iOS 应用程序时出现 XCode 错误

java - 更新到Android 3.6.1后出现错误

android -\build\intermediates\res\resources-anzhi-debug-stripped.ap _' specified for property ' resourceFile' 不存在

android - Android Studio显示错误,gradle文件,请找到解决方案,它摇摆一些发现错误