【问题标题】:Gradle applicationId with flavors for Android带有适用于 Android 的口味的 Gradle applicationId
【发布时间】:2021-03-12 15:35:15
【问题描述】:

我想将我的应用程序上传到 Google Play 商店,但在它上线之前我想对其进行测试。应用程序中有一个测试模式,我希望生产 applicationId 像

com.company.product

但我也想有 2 种口味来进行测试,比如

com.company.product.alpha
&&
com.company.product.beta

我的应用 build.gradle 应该是什么样的?

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.company"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  
        ....

flavorDimensions "version"
    productFlavors {
        product {
            dimension "version"
            applicationIdSuffix ".product"
            versionCode 1
            versionName "1.0"
        }

        alpha {
            dimension "version"
            applicationIdSuffix ".product.alpha"
            versionCode 1
            versionName "1.0"
        }
     
        beta {
            dimension "version"
            applicationIdSuffix ".product.beta"
            versionCode 1
            versionName "1.0"
        }
    }


.....或者我想像这样??

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.company.product"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  
        ....

flavorDimensions "version"
    productFlavors {

        alpha {
            dimension "version"
            applicationIdSuffix ".alpha"
            versionCode 1
            versionName "1.0"
        }
     
        beta {
            dimension "version"
            applicationIdSuffix ".beta"
            versionCode 1
            versionName "1.0"
        }
    }


【问题讨论】:

    标签: android kotlin gradle android-productflavors


    【解决方案1】:

    你可以这样做:

    android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"
    defaultConfig {
        applicationId "com.company.product"
        minSdkVersion 21
        targetSdkVersion 30
        flavorDimensions "application"
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    
    productFlavors {
        alpha {
            dimension "application"
            applicationIdSuffix ".alpha"
            versionNameSuffix "-alpha"
            buildConfigField "String", "FLAVOR_TYPE", '"alpha"'
        }
        beta {
            dimension "application"
            applicationIdSuffix ".beta"
            versionNameSuffix "-beta"
            buildConfigField "String", "FLAVOR_TYPE", '"beta"'
        }
        production {
            dimension "application"
            applicationIdSuffix ""
            versionNameSuffix ""
            buildConfigField "String", "FLAVOR_TYPE", '"production"'
        }
    }
    

    为每种口味设置applicationIdSuffixversionNameSuffix,并为生产一种留空。通过这种方式,您可以分发 com.company.product.alphacom.company.product.beta 以获得 alpha 和 beta 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 2016-04-08
      • 2016-02-01
      • 2013-07-07
      相关资源
      最近更新 更多