带有适用于 Android 的口味的 Gradle applicationId
Posted
技术标签:
【中文标题】带有适用于 Android 的口味的 Gradle applicationId【英文标题】:Gradle applicationId with flavors for Android 【发布时间】: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"
【问题讨论】:
【参考方案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"'
为每种口味设置applicationIdSuffix
和versionNameSuffix
,并为生产一种留空。通过这种方式,您可以分发 com.company.product.alpha
和 com.company.product.beta
以获得 alpha 和 beta 版本。
【讨论】:
以上是关于带有适用于 Android 的口味的 Gradle applicationId的主要内容,如果未能解决你的问题,请参考以下文章
没有方法签名: .android() 适用于参数类型。 build.gradle(应用程序)中的异常