首页 > 解决方案 > Gradle:应用程序看不到从子模块的第二级导入的代码

问题描述

我的项目中有传递依赖项的问题。有一个应用程序(主)模块,其中包括 gradle 库模块 A,其中包括模块 B。

问题是应用程序看不到模块 B 中的类。模块 A 当然可以看到 B 中的类,但应用程序看不到。

默认情况下,依赖项应该是可传递的,但什么也没有发生。

所以app gradle文件有:

implementation project(path: ':A')

模块 A 有:

implementation project(path: ':B')

如果我将: implementation project(path: ':B') 添加到 app gradle 文件中,它可以工作,但我必须排除它,因为我将使用产品风格,这对我不再适用。

这个问题有什么解决方法吗?

标签: javaandroidandroid-studiogradledependencies

解决方案


如果使用implementation,则无法从使用它的模块访问这些类。

为了从子模块中公开类,您应该替换implementationapi

在模块“A”中,使用:

api project(':B')

在模块“app”中,使用:

implementation project(':A')

推荐阅读