提问者:小点点

Android具有多种风格和多种构建类型


我们有一个具有多种风格的项目,每个风格有3种不同的构建类型:调试、QA和发布。

productFlavors {
    flavor1 {}

    flavor2 {}

    flavor3 {}   
    }

buildTypes {
    debug {
        applicationIdSuffix ".debug"
    }

    qa {
        applicationIdSuffix ".qa"

    }

    release {
   ..
    }

但是对于每种风格和构建类型,我们需要不同的库依赖性。例如:

compile 'baseUrl:myLibrary:1.0.0:flavor1Release@aar'
compile 'baseUrl:myLibrary:1.0.0:flavor1Qa@aar'
...
compile 'baseUrl:myLibrary:1.0.0:flavor3Qa@aar'

我们可以使用Groovy脚本添加这些依赖项吗?


共2个答案

匿名用户

我知道您可以像这样为每个构建类型定义特定的依赖关系

debugCompile 'baseUrl:myLibrary:1.0.0:debugLib@aar'
releaseCompile 'baseUrl:myLibrary:1.0.0:release:Lib@aar'
  • 编译:主应用程序
  • androidTestCompile:测试应用程序
  • debug构建类型
  • 发布编译:发布构建类型。

因为不可能生成没有关联生成类型的APK,所以APK总是配置为两种(或更多)配置:编译和编译。创建新的生成类型会根据其名称自动创建新配置。

它似乎也能很好地处理这里描述的味道(但不能处理味道维度)

为一个变体(buildType风格)做这件事似乎需要更多的工作。否则,您可以将您的库定义为一个真正的库项目,并使用如下语法

要创建对另一个已发布工件的依赖关系,您需要指定使用哪一个:

dependencies {
    flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
    flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}

来自:http://tools.android.com/tech-docs/new-build-system/user-guide

匿名用户

解决方案

  1. 如果您想在我们的单个项目中创建多个构建类型。所以你需要遵循这个https://stackoverflow.com/a/66315794/12134511我使用下面的代码工作是罚款,所以不要去任何地方只是按照链接。

我希望这个代码对你有充分的帮助。