Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android具有多种风格和多种构建类型_Android_Gradle_Android Productflavors - Fatal编程技术网

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

Android具有多种风格和多种构建类型,android,gradle,android-productflavors,Android,Gradle,Android Productflavors,我们有一个具有多种风格的项目,每个风格有3种不同的构建类型:调试、QA和发布 productFlavors { flavor1 {} flavor2 {} flavor3 {} } buildTypes { debug { applicationIdSuffix ".debug" } qa { applicationIdSuffix ".qa" } release {

我们有一个具有多种风格的项目,每个风格有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脚本添加这些依赖项吗?

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

debugCompile 'baseUrl:myLibrary:1.0.0:debugLib@aar'
releaseCompile 'baseUrl:myLibrary:1.0.0:release:Lib@aar'
  • 编译:主应用程序
  • androidTestCompile:测试应用程序
  • debugCompile:调试生成类型
  • releaseCompile:发布构建类型
因为不可能构建一个没有 关联的生成类型,APK始终配置两个(或更多) 配置:编译和编译。创建新构建 类型根据其名称自动创建新配置

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

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

debugCompile 'baseUrl:myLibrary:1.0.0:debugLib@aar'
releaseCompile 'baseUrl:myLibrary:1.0.0:release:Lib@aar'
要创建对另一个已发布工件的依赖,您需要 指定要使用的选项:


发件人:

解决方案

  • 如果你想在我们的单个项目中创建多个构建类型,那么你需要遵循这个我正在使用下面的代码工作很好,所以不要去任何地方,只需遵循链接即可

  • 我希望这段代码对您完全有帮助。

    您应该使用FlavorDimenion和VariantFilter:gl此链接对我完全有帮助。谢谢你的支持。