android - 安装新版本时出现“未安装 Android 应用程序。该软件包与同名的现有软件包冲突”
问题描述
我正在尝试通过手机上的文件管理器安装我的一个应用程序的新签名版本,但我收到此错误消息“未安装应用程序包与现有的同名包冲突”。我已经从 google play Store 安装了以前的版本,这两个 apk 都是从同一个 Keystore 签名的。
上一版本的 App Build Config
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"
}
新版本的 App Build Config
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。
解决方案
您是否检查过是否已完全删除了开发版本?我以前遇到过这种事情,这就是原因。如果没记错的话,这需要完全卸载应用程序,重新启动设备,然后从商店安装并安装生产版本。甚至可能是我有一个不同名称的测试版本,但在使用一些提议的主要 UI 更改时,应用程序 ID 相同(我复制了项目但只重命名了一些东西)。
推荐阅读
- angular - 删除空行
- json - 如何解析 json 相似的字符串并将其映射到 pojo
- python - 如何设置或模拟测试文件中的变量?
- java - CorDapp 示例构建失败
- c - 从基于 OpenCV 静态库的项目中创建可移植静态库
- python - Numpy 神经网络中的权重没有更新,错误是静态的
- angularjs - AngularJS 没有在 http post 成功更新动态范围变量
- ios - App Store Connect 进程构建时出现无效的捆绑错误
- r - 在 r 中找到对 pi 最小的分数
- java - Firebase 数据库“onDataChange”方法 NullPointerException 的问题