我不知道这种情况有多普遍,但这对我有用。问题是:这是理智的,还是有更好的方法?
tl;博士:
dependencies {
// remove trailing ':Lib'
ppath = project.path
ppath = ppath.substring(0, ppath.length() - 4)
compile project(ppath + ":jsoup:Lib")
}
主项目 OpenKeychain ( https://github.com/open-keychain/open-keychain )
|-Git 子模块 KeybaseLib ( https://github.com/timbray/KeybaseLib )
|- Git 子模块 jsoup ( https://github. com/timbray/jsoup)
为所有三个项目设置了 Android Studio 和 Gradle 的目录结构。这意味着项目根目录下有一个特殊命名的目录(我喜欢将“Lib”用于库类型项目),并且源代码从 root/Lib/src/main/...
open-keychain
|- settings.gradle [1]
|- OpenKeychain
|- build.gradle [2]
|- extern
|- KeybaseLib
|- settings.gradle [3]
|- Lib
|- build.gradle [4]
|- jsoup
好的,问题是,[1]、[2]、[3] 和 [4] 中的内容是什么,以便我可以从 open-keychain 根和 KeybaseLib 根 gradle-build KeybaseLib 和 jsoup?
[1]
include ':extern:KeybaseLib:Lib'
include ':extern:KeybaseLib:jsoup:Lib'
[2]
dependencies {
compile project(':extern:KeybaseLib:Lib')
...
}
[3]
include 'Lib'
include ':jsoup:Lib'
[4]
dependencies {
// remove trailing ':Lib'
ppath = project.path
ppath = ppath.substring(0, ppath.length() - 4)
compile project(ppath + ":jsoup:Lib")
}