android - Assemble gradle flavor 编译来自其他 flavor 的依赖项

标签 android gradle dependencies libraries android-flavors

我们正在尝试开发 2 种 gradle 口味以加快我们的开发过程:

  • 将我们的库编译为模块的本地风格
  • 使用我们库的最新快照的远程版本

  • 我在 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 编译远程 flavor ?

    最佳答案

    您想做的事情可能会在最新版本的 Gradle 中得到解决。

    使用 Gradle 3.1,您现在可以使用所谓的 "composite builds" .

    例如,假设您有一个库 L,部署在远程存储库上,还有一个依赖于 L 的项目 P。想象一下 L(例如,“libL/”)和 P(“projectP”)位于同一目录中您的系统,您可以通过从 projectP 运行以下命令来构建“本地”版本:

    $ ./gradlew --include-build ../libL build
    

    此外,复合构建 are coming in Android Studio !

    关于android - Assemble gradle flavor 编译来自其他 flavor 的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752713/

    相关文章:

    android - 是否可以显示小按钮以使用Android和Maps fragment 更改 map 类型?

    android - 如何使用子项实现可扩展的android抽屉导航?

    android - 错误 : "Unresolved reference: versionCode" in build. gradle.kts

    spring - 如何从Java EE容器(JBoss)解决依赖关系

    gradle - Gradle-排除依赖项的依赖项

    dependencies - 指定构建顺序依赖项

    android - Gradle Dependencies Command找不到其他Maven仓库

    java - Android 将文本作为图像分享给其他应用

    android - 将文件上传到 android 中唯一的谷歌驱动器帐户

    android - AndroidStudio库资源共享