Wear OS双模块应用上传AAB到Google Play报无法升级错误的排查
Google Play 上传 AAB 报错「无法发布当前版本,因为该版本不支持现有用户升级至新增的APKs」
提问背景
- 待发布应用为包含wear、mobile两个模块的Wear OS应用,仅从mobile模块构建AAB时触发报错
- 报错信息:
启动本版本发布前请解决以下错误:无法发布当前版本,因为该版本不支持现有用户升级至新增的APKs
- 已排除因素:初步判定为
versionCode配置异常,多次将其调整为更高数值后问题仍存在
模块构建配置
wear模块 build.gradle
plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion '30.0.2' defaultConfig { minSdkVersion 25 targetSdkVersion 30 versionCode 41 applicationId "de.braeuer_itl.mywatchface" versionName "4.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { ... }
mobile模块 build.gradle
plugins { id 'com.android.application' } android { compileSdkVersion 30 buildToolsVersion '30.0.2' defaultConfig { minSdkVersion 25 targetSdkVersion 30 versionCode 40 applicationId "de.braeuer_itl.mywatchface" versionName "4.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { ... }
根因与修复方案
该报错与versionCode配置无关,实际原因为:
mobile模块的AndroidManifest.xml中错误添加了<uses-feature android:name="android.hardware.type.watch"/>配置项。
该声明会将mobile模块的安装包标记为仅适配Wear OS设备,若该applicationId的历史版本此前已向普通手机用户分发,Google Play会判定新包无法覆盖现有用户的升级需求,触发上述报错。
修复方式:删除mobile模块AndroidManifest.xml中错误添加的该<uses-feature>配置,重新构建AAB后上传即可。
内容的提问来源于stack exchange,提问作者C. Bräuer
相关产品推荐
相关产品推荐

