【问题标题】:Refer class from Module A to Module C through Module B gradle通过模块 B gradle 将类从模块 A 引用到模块 C
【发布时间】:2018-01-17 14:34:13
【问题描述】:

如何从另一个模块引用我的代码?我有一个实现 Module BModule AModule B 实现了 Module C,其中包含我需要在 Module A 中访问的类。

模块 A 包含类 Foo {} 并实现:

 dependencies {
    implementation project(":moduleB")
}

模块 B 实现:

dependencies {
    implementation project(":moduleC")
}

模块 C 包含类 Bar {}

我可以轻松访问位于模块 B 中的类我如何从类 Foo {}(模块 A)访问类 Bar {}(模块 C)?有没有办法在 gradle 中实现这个事件?

【问题讨论】:

  • 模块的类型是什么(lib 或 app)...如果模块类型是 lib,你为什么使用 implementation 而不是 api

标签: java android android-studio gradle kotlin


【解决方案1】:

导入依赖项的新implementation 机制隐藏了“下游”依赖项。因此,如果 A 依赖于 B 而 B 依赖于 C,则默认情况下,A 无法访问 C。
旧的compile 关键字不是这种情况,它在api 关键字中有一个后继,这可能是您想要的。 Thisthis 应该把事情弄清楚。

【讨论】:

    【解决方案2】:

    由于 moduleC 作为 moduleB 中的依赖项,它应该在 moduleA 中可用,因为这是一个 transitive 依赖

    确保在添加 moduleB 时将 transitive 设置为 true模块A

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2022-08-03
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多