下面是我的应用程序GRADLE文件的代码,我通过设置flavor来覆盖我的默认配置。
我的应用程序已经在玩商店,我必须整合谷歌健康连接库.按照这个库的要求最小的SDK应该是26,我想应用程序应该为26以上和26以下的Android用户提供。
问题:
1.我是否可以使用相同的软件包名称和不同的最低SDK将应用上传到Play商店?
1.我必须保持客户端1和客户端2作为两个风味与两个构建。一个最低SDK 21,另一个最低SDK 26。
1.我还需要管理版本代码的所有风味不同的释放发挥商店。
android {
compileSdk 34
defaultConfig {
applicationId "com.mobile.android"
minSdk 21
targetSdk 33
versionCode 22
versionName "2.2.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
renderscriptTargetApi 22
renderscriptSupportModeEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug{
minifyEnabled false
}
}
flavorDimensions "api","version"
productFlavors {
client1 {
dimension "version"
applicationId "com.client.one"
targetSdk 33
versionCode 22
versionName "2.2.2"
resValue "string", "app_name", "ClientOne"
manifestPlaceholders = [
appIcon: "@mipmap/ic_launcher",
appIconRound: "@mipmap/ic_launcher_round"
]
}
client2 {
dimension "version"
applicationId "com.client.two"
targetSdk 33
versionCode 1
versionName "1.0"
resValue "string", "app_name", "ClientTwo"
manifestPlaceholders = [
appIcon: "@mipmap/ic_launcher",
appIconRound: "@mipmap/ic_launcher_round"
]
}
minApi26 {
dimension "api"
minSdk 26
}
minApi21 {
dimension "api"
minSdk 21
}
}
productFlavors.all {
flavor ->
println( flavor.name)
defaultConfig.buildConfigField 'String', 'var_'+flavor.name, '\"'+flavor.name+'\"'
}
buildFeatures {
viewBinding true
dataBinding true
}
packagingOptions {
exclude 'META-INF/rxjava.properties'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
1条答案
按热度按时间mfpqipee1#
你必须选择任何一个选项。您不能向用户提供具有同一包的多个minSdk。如果Health Connect对应用程序很重要,则使用minSdk 26,否则使用minSdk 21。