在 gradle 上自动添加模块依赖

Automaticly add module dependencies on gradle

在 gradle 上使用 Android Studio 上的模块时,我有一个奇怪的行为...解释起来有点复杂,所以我认为最好举个例子

假设我的应用程序有两个模块

:bar
:foo

foo 使用 play-services-location 所以我将它导入它的 build.gradle。 foo 编译正常。

bar 使用 foo,因此我在栏文件夹的 build.gradle 上使用:
api project(path: ':foo')
bar 也使用 play-services-location 但是当 bar 导入 foo 我认为它应该传递导入 play-services-location 但是如果我不明确做
implementation "com.google.android.gms:play-services-location:$location_library_version"
栏不编译

所以我错过了什么吗?难道它不应该自动导入所有的依赖项吗?所以任何传递依赖项都准备好了,我不需要重新导入它?

你应该使用'api'(而不是'implemenatation')作为'foo'中的'google-play-location',所以它可以被使用[=15]的'bar'所依赖=].如果没有其他模块依赖'bar',最好在'bar'中指定'implementation foo',而不是'api'