一、问题现象
APK内部升级时一直提示安装失败/无法安装等。
二、问题原因
通过 adb install xxx.apk
命令执行一次安装,这样可以看到具体的错误信息为:INSTALL_FAILED_VERSION_DOWNGRADE
导致该问题的原因大致如下:
- VersionCode 低于上一版
- 如果使用 gitVersion 作为versionCode ,那么更换代码仓库之后,gitVersion 会重新从1计数(这一次发版栽在这里了)
- 开启 手机分身 功能的手机中,A分身中如果装了高版本的软件,B分身中再装低版本的软件时也会报错 (如小米6手机,开启分身的步骤为:设置--手机分身)
- targetVersion 低于上一版
三、附录
(1)、moudle.gradle中配置 gitVersion 作为 versionCode
android {defaultConfig {def gitCode = getGitVersion()versionCode gitCode//其他内容省略。。。}
}
//获取Git版本号
def getGitVersion() {def cmd = 'git rev-list HEAD --first-parent --count'def gitVersion = cmd.execute().text.trim().toInteger() + 1500return gitVersion//return 10000; //如果需要运行FindBugs 此处需要换成一个比较大的数值,同时注释掉上面两行即可
}