gpt4 book ai didi

android - 如何在android库中导出依赖项

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:49 24 4
gpt4 key购买 nike

从版本 3.0.0 开始,适用于 Gradle 的 Android 插件允许您将模块的依赖项导出到其他模块。

据我了解,这意味着在我的 android 库模块中我应该能够使用 api <dependency declaration> 声明依赖项并在我的主应用程序项目中将此依赖项作为导出的传递依赖项进行访问,我已在其中将我的库模块声明为依赖项。

我也在使用静态文件依赖。

举个例子:

我有一个类NeededEverywhere , 在它自己的 gradle 模块中定义 everywhere-module .该模块与我的库模块在同一个项目中。

//library module's build.gradle:
dependencies {
api project(':everywhere-module')
}

在我的应用程序的 build.gradle(位于不同的 Android Studio 项目中)中,我声明了我对库的依赖,但不是 everywhere-module 。这应该意味着 everywhere-module是一个导出的传递依赖。

//app project's build.gradle
dependencies {
implementation files("path/to/my/library/file.aar")
}

但是,我无法访问类 NeededEverywhere在我的应用程序中。

我做错了什么?

最佳答案

您正在直接引用 AAR。

依赖信息不在 AAR 中,就像依赖信息不在 JAR 中一样。依赖信息保存在 Artifact 存储库的元数据中,例如 Maven 风格存储库的 POM 文件。

因此,具有库模块的项目需要将其 AAR 发布到 Artifact 存储库。这可能是您机器本地的一个(例如,mavenLocal())。然后,需要依赖库模块的项目从存储库中执行,而不是通过 file()。然后,Gradle 可以从存储库中获取传递依赖信息并加以利用。

关于android - 如何在android库中导出依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871611/

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