gradle 我们可以在playstore中发布2种具有相同包名称但不同minSdk的应用程序吗?

ktecyv1j  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(129)

下面是我的应用程序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'
 }
}
mfpqipee

mfpqipee1#

你必须选择任何一个选项。您不能向用户提供具有同一包的多个minSdk。如果Health Connect对应用程序很重要,则使用minSdk 26,否则使用minSdk 21。

相关问题