如果有两个独立的项目,但其中一个(比如项目A,这是一个Android应用程序)依赖于另一个项目(比如项目B,一个简单的Java应用程序/库),没有它就无法工作。另一方面,项目B被视为一个独立的应用程序,并且自行构建和工作。每个项目在根目录中都有settings.gradle
文件,该目录指向源目录。
这些项目的结构是相同的,如下所示:
project_name_root
project_name
src
build.gradle
build.gradle
settings.gradle
settings.gradle
有一行include :project_name'
问题是当我使用Project A
作为模块构建Project B
时会抛出以下错误:
A problem occurred configuring project ':project-a'.
Could not resolve all dependencies for configuration ':project-a:_debugApk'.
Project :project-a declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :project-b.
项目A的settings.gradle
包含:
include ':project-a', ':project-b'
project(':project-b').projectDir = new File(settingsDir, '../project-b-java')
注意
如果项目B的结构稍有不同(下图)项目A可以正常工作,项目B作为模块。但我更愿意坚持以前的结构。
project_name_root
src
build.gradle
答案 0 :(得分:5)
如果项目B具有以下结构:
project_B_root
|--project_B_module
|---- src
|---- build.gradle
|--build.gradle
|--settings.gradle
projectA的settings.gradle
中使用的路径必须链接project_B_module
文件夹,而不是project_B_root
文件夹。