gpt4 book ai didi

android - AAR 可以包含传递依赖吗?

转载 作者:IT老高 更新时间:2023-10-28 13:22:44 26 4
gpt4 key购买 nike

现在我有一个库项目,比如说项目 Foo,它依赖于像 OkHttp 这样的库。

现在,Foo 有一个 Maven 构建步骤,可以生成 AAR 并将其推送到公共(public)场所。

现在假设我有项目 B,我们将其命名为 Bar。 Bar 是一个 Android 应用,Bar 依赖于 Foo。

嗯,我有。但是,当我从 Bar 调用 OkHttp 的 Foo 中的 public static 函数时,我收到以下消息:

java.lang.NoClassDefFoundError: com.squareup.okhttp.OkUrlFactory
at com.foo.sdk.utils.OkHttpStack.<init>(OkHttpStack.java:15)

这样的事情可能吗?或者 Bar 是否需要手动依赖 OkHttp 以及 Foo 的任何其他依赖项?

最佳答案

花了一点时间,但我找到了我想要的东西。这恰好是我对搜索的措辞。

这个鲜为人知的答案正是我想要的:

Transitive dependencies not resolved for aar library using gradle

请注意,首先,如果 aar 库托管在 maven 存储库中,则依赖项仅与 aar 库相关联,因为 pom 文件不包含在 aar 中。

基本上,我需要添加一个

transitive = true

...到Bar的build.gradle

例子:

compile ('com.foo:FOO:1.0.0@aar'){
transitive=true
}

这样它就包含了我所有的传递库。

但是请注意,这实际上可能会导致依赖项(尤其是本地的)之间的冲突,可以使用 exclude 标签解决。

关于android - AAR 可以包含传递依赖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25698160/

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