Android Studio模拟器应用版本冲突异常问题咨询
问题原因及解决办法
核心原因
Android系统判断应用版本新旧只看versionCode,完全不关心versionName。数字越大,系统判定版本越新。
你调试版的versionCode是32,而模拟器里从Play Store安装的2.0.0版本应用,它的versionCode肯定大于32——哪怕它显示的versionName是2.0.0,只要versionCode更高,系统就会认为设备上的是新版本,从而阻止你安装versionCode更低的调试版。
验证步骤
用adb命令查看已安装应用的versionCode:
adb shell dumpsys package com.xxxxxxx.yyyyyyyyyyyyy.droid | grep versionCode
执行后就能看到Play Store版应用的versionCode数值,必然大于你调试版的32。
解决办法
- 方案一:修改调试版的
versionCode,让它比Play Store版的数值更高。比如如果Play Store版的versionCode是40,就把build.gradle里的versionCode = 41,保存后重新编译运行,就能直接覆盖安装。 - 方案二:卸载模拟器里的Play Store版应用,再安装调试版(注意:卸载会清除应用数据)。
内容的提问来源于stack exchange,提问作者Saland
相关产品推荐
相关产品推荐

