从 kotlin dsl 中的库实现直通

问题描述 投票:0回答:1

我不知道如何让我的库将另一个库传递给主应用程序。我知道这听起来有点奇怪,所以我会尽力解释。举一个简单的例子,我构建了一个注释处理器,它使代码生成变得更加容易。我还有一个库来保存 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,然后将其上传到私有工件存储库,然后将其添加到我的示例应用程序中。

android kotlin gradle gradle-kotlin-dsl
1个回答
0
投票

更换:

implementation(libs.annotations)

与:

api(libs.annotations)

api()
表示“将此库的公共 API 作为我的库公共 API 的一部分公开”。
implementation()
表示“使用此库,但不要将其提供给我的图书馆的消费者”。

© www.soinside.com 2019 - 2024. All rights reserved.