【发布时间】:2019-01-02 09:36:25
【问题描述】:
我正在尝试通过手机上的文件管理器安装我的一个应用程序的新签名发行版本,但我收到此错误消息 “未安装应用程序包与现有包冲突名称”。我已经从 google play Store 安装了以前的版本,这两个 apk 都是从同一个 Keystore 签名的。
上一版本的应用构建配置
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 16
targetSdkVersion 22
versionCode 19
versionName "1.1.9"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
新版本的应用构建配置
compileSdkVersion 27
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 16
targetSdkVersion 27
versionCode 20
versionName "1.2.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
我知道在卸载旧版本后,我将能够安装新版本的应用程序,但我的应用程序的用户是否能够在不从 Play 商店卸载旧版本的情况下更新应用程序?如果没有,我该如何避免这种情况?
更新
play store 有两份apk 1. Original 一份(你上传的) 2.Derived 一份(Google play 修改你的apk 创建的,这个apk 分发给大家)。
您可以从这里下载这两个 apk
Google Play Console -> Artifact Library -> 点击下载按钮 -> 现在 Google Play 会询问您要下载哪个 apk。
因此,如果您尝试使用您从 android studio 创建的发布签名的应用更新您从 Play 商店下载的应用,您可能会收到此错误。但如果您将发布签名的 apk 上传到 Play 商店,您的用户将能够在没有任何错误的情况下更新应用程序。
如果您想测试事物数据库迁移,您可以使用原始 apk。
【问题讨论】:
标签: android gradle google-play