首页 > 解决方案 > 安装新版本时出现“未安装 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。

标签: androidgradlegoogle-play

解决方案


您是否检查过是否已完全删除了开发版本?我以前遇到过这种事情,这就是原因。如果没记错的话,这需要完全卸载应用程序,重新启动设备,然后从商店安装并安装生产版本。甚至可能是我有一个不同名称的测试版本,但在使用一些提议的主要 UI 更改时,应用程序 ID 相同(我复制了项目但只重命名了一些东西)。


推荐阅读