尝试安装新版本的 Android 应用程序后收到“未安装应用程序”消息

Posted

技术标签:

【中文标题】尝试安装新版本的 Android 应用程序后收到“未安装应用程序”消息【英文标题】:Getting "App Not Installed" message after attempting to install new version of Android app 【发布时间】:2020-09-22 09:10:28 【问题描述】:

我有一个应用程序是我在 8 到 10 年前开发的哇,但我至少一年左右会不断更新它。

我实际上正在从头开始完全重做应用程序,当我从我的计算机上在我的 android 上运行它时它运行良好,但是当我在 PhoneGap Build 上使用签名密钥构建它时,我收到了错误消息“未安装应用程序”。当我尝试安装 apk 时。

我已经阅读了有关该主题的其他几篇文章,我可以证明:

我的手机有足够的存储空间。 新版本号大于旧版本号。 签名密钥与原始版本相同。 我的手机上当前没有安装任何版本的应用程序。

关于可能导致此问题的任何其他想法? 我已经删除了所有插件以将其排除在外,但我仍然遇到同样的错误。 最初的应用程序是使用 OnsenUI 和 Cordova 构建的。 新应用在 Ionic 5.4.16、Cordova 9.0.0 和 Android 8.1.0 中构建。

我注意到的另一件事是,如果我将应用程序 ID (com.company.appname) 更改为其他任何内容(即 com.company.appnamedev),它就会安装。我觉得这很能说明问题,但我不知道该怎么办。

非常感谢任何有关发现问题的指导。

【问题讨论】:

只是在黑暗中拍摄:如果您的手机上有多个用户,请为所有用户卸载该应用(在应用详细信息/信息页面中) 您是否尝试过使用 ADB 手动安装已签名的 apk?这将以纯文本形式显示安装错误。我相信这可能是由于签名模式。 只有一位用户,sébastien,但感谢您的建议。我会试一试,看看它说了什么,Mike N。 【参考方案1】:

不幸的是,这不会是你们许多寻求解决方案的人所希望的答案,但我得到了它的工作。根据 Mike N. 的建议,我尝试在本地签名并使用 adb 将其推送到我的设备。在这样做时,我遇到了两个旧插件(onesignal 和 admob)的残余问题,我已经从我的 config.xml 文件中删除了这些插件。

我真的不知道为什么,但是在我摆脱了 package.json 中的那些旧部分之后,我尝试再次将它推送到 phonegap build 并且它能够安装。因此,我想解决方案是确保您已完全删除任何可能导致问题的插件。

现在大技巧 - 重新添加这些功能。但是,应用程序在 PhoneGap Build 上编译,签名文件现在安装在我的设备上。

更新:因此,事实证明这与我正在使用的一个信号插件直接相关。仍在弄清楚为什么,但是当我重新添加它时,它在本地运行良好,但是当我尝试使用 PhoneGap Build 构建并将其加载到我的手机时,我收到错误“未安装应用程序”。至少我现在知道是什么原因造成的。

【讨论】:

【参考方案2】:

我终于找到了我所有问题的根源。事实证明,我启动了另一个半生不熟的应用程序,并在我的手机上使用不同的名称和应用程序标识符,但我暂时将相同的 google-services.json 和 GoogleService-Info.plist 文件放到了另一个应用程序中我在这里使用有问题的那个。

在采纳 Mike N 的建议后,我得到了错误:

adb: failed to install mynewapp.apk: Failure [INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.company.new attempting to redeclare permission com.company.new.permission.RECEIVE_ADM_MESSAGE already owned by com.company.old]

我卸载了不应该有这些文件的旧应用程序,现在一切都安装并运行良好。希望这可以帮助遇到同样奇怪情况的其他人。

【讨论】:

【参考方案3】:

您可以使用 My APK 应用程序并使用 My APK Installer (MAI) 安装 apk。 如果有错误,它将显示详细信息(如重复的权限、提供者、不匹配的签名......)

【讨论】:

以上是关于尝试安装新版本的 Android 应用程序后收到“未安装应用程序”消息的主要内容,如果未能解决你的问题,请参考以下文章

Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle

为啥我的 Xcode 插件(例如 clang 格式)在更新到新版本的 Xcode 后,与 Alcatraz 一起安装不再工作?

如何在新版本的 android 上运行旧版本的 android 应用程序?

Google Play 商店发布问题 [关闭]

如果我安装新版本的 Python,是不是应该重新安装每个模块?

新版本的内部库时是不是有可能收到警告?