当前位置: 首页 > 知识库问答 >
问题:

AAR可以包含可传递依赖项吗?[副本]

郑理
2023-03-14

现在假设我有项目B,我们叫它酒吧。Bar是一个Android应用程序,Bar依赖于Foo。

嗯,我有。但是,当我在Foo from Bar中调用一个调用OkHttp的public static函数时,我会得到以下消息:

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

这样的事情可能发生吗?还是Bar需要手动依赖OkHttp以及Foo拥有的任何其他依赖项?

共有1个答案

颜经艺
2023-03-14

花了一点时间,但我找到了我要找的东西。只是碰巧我在搜索时的措辞。

这个比较少见的答案正是我想要的:

使用gradle未解析aar库的可传递依赖项

transitive = true

...到酒吧的build.gradle

示例:

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

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

 类似资料:
  • 问题内容: 我看到了类似的问题,但未找到可接受的答案。问题-我有一些小功能我自己的android库。我的库使用其他库-fe Hawk(无sql数据库)。我的图书馆gradle文件: 图书馆工作正常。如果我将它用作另一个项目中的项目-它也可以工作。但是当我生成文件(带有-> )并包含到单独的项目中时-失败。项目仅查看我的图书馆的班级。Hawk com.orhanobut.hawk软件包和off其他软

  • 我已经研究了一段时间,可能看到了与aar和传递依赖相关的最流行的答案,但不知何故,我仍然不清楚如何使其工作。 所以: 根据上述树,不检测所有的传递依赖。问题出在哪里,该如何正确做?

  • 我在Scala项目中使用了官方的Gatling Gradle插件,我发现了一个问题,其中包含了依赖项,如 不包括可传递依赖项。也就是说,我有一个Gatling模拟类,它扩展了中的一个类,而依赖于这个类。但是,当我尝试运行模拟时,会出现如下错误 当我查看Gradle依赖时,我将视为的依赖项。我的IDE(IntelliJ)在点击代码时也能识别它。 我试着在一页文档中搜索这个插件,但是我没有看到任何有用

  • 我刚刚将我的项目升级到gradle 7,并且遇到了缺失的可传递依赖项。我试着改变我的身材。gradle文件在依赖项中使用“api”,但这并没有修复它。 projectA依赖于projectB,projectB依赖于projectC。 projectA-build。格拉德尔 projectB-构建。格拉德尔 ProjectA编译良好,但有运行时错误-从project ectC获取类的ClassNot

  • 我使用的是Android Studio1.4

  • 这个问题将澄清什么是传递依赖,以及它在Maven中如何在非常高的级别上工作。 我的定义是:在依赖树中,比如-- 若C在B中有范围编译,那个么将B声明为A的依赖项就足以用Maven构建A。但是,如果C在B中提供了作用域,那么当Maven构建A时,除非A在其依赖项中声明C,否则该构建不会根据C自动编译A。 这是正确的吗?