gpt4 book ai didi

android - 当使用 'api' 添加库依赖项时,无法访问在 Gradle 中使用 'implementation' 声明的库?

转载 作者:行者123 更新时间:2023-12-03 03:45:21 27 4
gpt4 key购买 nike

LibA 使用“api”添加到 App 模块中,而 LibB 使用“实现”添加到 LibA 中。

我无法在 App 中访问 LibB,它会给出编译错误。

谁能解释这里发生了什么?,我是否遗漏了任何东西或误解了“api”、“实现”的概念?

dependency

最佳答案

解释可以在Java Library plugin的官方文档中找到,尤其是在 API and Implementation separation章节:

The plugin exposes two configurations that can be used to declare dependencies: api and implementation. The api configuration should be used to declare dependencies which are exported by the library API, whereas the implementation configuration should be used to declare dependencies which are internal to the component.


APi 配置的主要思想是避免库模块的内部依赖关系泄漏到库消费者类路径中。
在您的情况下, LibB被视为对 LibA 的内部依赖,正如它在 implementation 中定义的那样配置,因此您不应该访问 LibB直接在您的 App模块 。
如果需要消费库 LibB来自 App ,然后只需声明来自 App 的直接依赖项至 LibB , 使用 apiimplementation配置。

关于android - 当使用 'api' 添加库依赖项时,无法访问在 Gradle 中使用 'implementation' 声明的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60202611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com