Java 通过模块B梯度将课程从模块A转到模块C

Java 通过模块B梯度将课程从模块A转到模块C,java,android,android-studio,gradle,kotlin,Java,Android,Android Studio,Gradle,Kotlin,如何从其他模块引用代码?我有一个模块a,它实现模块B模块B实现模块C,其中包含我需要在模块A中访问的类 模块A包含类Foo{}并实现: dependencies { implementation project(":moduleB") } dependencies { implementation project(":moduleC") } 模块B实现: dependencies { implementation project(":moduleB") } de

如何从其他模块引用代码?我有一个模块a,它实现模块B模块B实现模块C,其中包含我需要在模块A中访问的类

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

 dependencies {
    implementation project(":moduleB")
}
dependencies {
    implementation project(":moduleC")
}
模块B实现:

 dependencies {
    implementation project(":moduleB")
}
dependencies {
    implementation project(":moduleC")
}
模块C包含类{}


我可以轻松访问位于模块B中的类我如何从类Foo{}(模块A)访问类Bar{}(模块C)?有什么方法可以在gradle实现此事件吗?

由于您在模块B中将模块C作为依赖项,它应该在模块a中提供,因为这是一个可传递的依赖项

在添加模块b时,确保将可传递的设置为true
在模块a中

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

模块的类型是什么(lib或app)。。。另外,如果模块类型为lib,为什么要使用
implementation
而不是
api