【问题标题】:Assign different build types to different Flavors in android在android中为不同的Flavor分配不同的构建类型
【发布时间】:2017-07-19 10:03:45
【问题描述】:

在我的 Gradle 文件中,我通过以下方式分配了 buildTypesproductFlavors

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

signingConfigs {
    release{
        //storeFile file("")
        //storePassword ""
        //keyAlias ""
        //keyPassword ""
    }
}

flavorDimensions "default"

productFlavors {
    dev{
        dimension "default"
        applicationId "com.xxx.android.dev"
    }
    qa{
        dimension "default"
        applicationId "com.xxx.android.qa"
    }
    staging{
        dimension "default"
        applicationId "com.xxx.android.staging"
    }
    prod{
        dimension "default"
        applicationId "com.xxx.android.prod"
    }
}

现在的问题是每种口味都有发布和调试两种构建类型,但我只想为构建分配调试,因此在选择调试变体时我们无法生成发布构建。知道怎么做吗?

【问题讨论】:

  • 您的要求不明确。请详细说明。您不希望发布构建,或者您不想在选择发布构建时发生任何事情?
  • 我设法通过添加构建目标来完成它。我不想为此更改任何源代码。所以不需要搭配口味

标签: android gradle android-productflavors


【解决方案1】:

我设法通过添加构建目标来完成它。我不想为此更改任何源代码。所以不需要搭配口味

buildTypes {
        qa {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            buildConfigField 'String', ‘BASE_URL', ‘"url“'

    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         buildConfigField 'String', ‘BASE_URL', ‘"url“'

    }

    debug {
        buildConfigField 'String', ‘BASE_URL', ‘"url“'
    }
}

【讨论】:

  • 你不能把buildConfigField放在别处吗,因为这三个都一样?如果 release 和 qa 相同,又有什么意义呢?
猜你喜欢
  • 1970-01-01
  • 2014-08-03
  • 2011-03-01
  • 2021-09-18
  • 2014-02-13
  • 1970-01-01
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
相关资源
最近更新 更多