Gradle:应用程序看不到从第二级子模块导入的代码

时间:2018-12-25 09:46:52

标签: java android android-studio gradle dependencies

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

问题是应用程序无法在模块B中看到类。 模块A当然会从B中看到类,但应用程序不会。

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

因此应用gradle文件具有:

implementation project(path: ':A')

模块A具有:

implementation project(path: ':B')

如果我添加:     实施项目(路径:“:B”) 到应用程序gradle文件,它可以工作,但是我必须排除它,因为我将使用产品口味,而这对我来说不再起作用。

此问题是否有解决方法?

1 个答案:

答案 0 :(得分:1)

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

为了公开子模块中的类,应将implementation替换为api

在模块“ A”中,使用:

api project(':B')

在“应用”模块中,使用:

implementation project(':A')