我们正在尝试开发2种食品来加速我们的开发过程:
我已经在gradle中声明了两种口味:
productFlavors {
local {}
remote {}
}
目前,我们假设我们的本地和远程库都可用作本地模块(用于调试目的)。 I have created a sample project here.由于每个库都有子库,也应该是本地的或远程的,我添加了:
dependencies {
localCompile project(path: ':mylibrary', configuration: "localDebug")
remoteCompile project(path: ':mylibrary2', configuration: "remoteRelease")
}
现在它变得棘手。如果我拨打gradle assembleLocalDebug
,我会收到这一行:
:mylibrary2:compileRemoteReleaseJavaWithJavac UP-TO-DATE
对于示例应用程序,它会编译。但在我们的案例中,我们有一个项目,其中最新的功能在SNAPSHOTS中找不到(因为它们尚未发布)。自从我们在当地建设以来,这不应该发生。有没有办法阻止gradle编译远程风味?
答案 0 :(得分:0)
您可以在最新版本的Gradle中解决您想要做的事情。
使用Gradle 3.1,您现在可以使用所谓的"composite builds"。
例如,假设你有一个库L,部署在一个远程存储库,一个项目P依赖于L.想象一下L(比如," libL /")和P(& #34; projectP")在您系统的同一目录中,您可以构建" local"从projectP运行以下命令的版本:
$ ./gradlew --include-build ../libL build
此外,复合构建are coming in Android Studio!