我不知道如何让我的库将另一个库传递给主应用程序。我知道这听起来有点奇怪,所以我会尽力解释。举一个简单的例子,我构建了一个注释处理器,它使代码生成变得更加容易。我还有一个库来保存 UI 元素和常用功能。为了将它们打包在一起,我进入了我的库 gradle dsl 文件并在注释处理器上添加了一个实现...
库 gradle 文件...
//... gradle file
dependencies {
//... dependencies
implementation(libs.annotations)
kapt(libs.annotations)
//... dependencies
}
//.. rest of gradle file
然后在我用来测试所有这些的示例应用程序中,我添加了对库的依赖项
dependencies {
implementation(libs.library)
}
但是在我的代码中,当我尝试用我的注释来注释类时,我收到错误
unresolved reference 'annotations'
有没有办法让我的图书馆也提供我的注释?
如果重要的话,我会将库编译为 aar,然后将其上传到私有工件存储库,然后将其添加到我的示例应用程序中。
更换:
implementation(libs.annotations)
与:
api(libs.annotations)
api()
表示“将此库的公共 API 作为我的库公共 API 的一部分公开”。 implementation()
表示“使用此库,但不要将其提供给我的图书馆的消费者”。