繁体   English   中英

Gradle applicationId 具有 Android 的风味

[英]Gradle applicationId with flavors for Android

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

com.company.product

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

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 {
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 版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM