0

我正在开发现有应用程序的新版本。这是从头开始的完全重新设计,因此我为此更新创建了一个单独的项目。现在我需要测试从 v2(旧版本)升级到 v3(新版本)时应用程序的行为。这两个项目具有相同的 applicationId、模块名称,并由相同的密钥签名。但是,当我安装 v2,然后安装 v3 时,旧应用程序不会被覆盖;我最终安装了两次。我错过了什么导致 Android 将这些应用程序视为不同的?

4

1 回答 1

3

如果两个 APK 具有相同的应用程序 ID,则不能同时在设备上安装两个 APK。模块名称无关紧要,不同的签名密钥只会强制完全卸载/重新安装而不是更新。

仔细检查您的应用程序 ID 是否存在轻微拼写错误。

还要检查您是否applicationIdSuffix在 build.gradle 中定义了一个。附加类似.debug调试构建的内容是相当常见的,这样您就可以在您的设备上安装调试和发布构建。如果是这种情况,请确保您正在尝试使用发布版本进行升级。

您还可以在 Toast 中记录(或显示应用程序 ID)以验证它们是否不同以及您所期望的。只需调用BuildConfig.APPLICATION_ID以获取当前的应用程序 ID。

于 2017-02-24T19:11:42.507 回答