Xamarin Android:存档-“未安装应用程序。包似乎已损坏”

Posted

技术标签:

【中文标题】Xamarin Android:存档-“未安装应用程序。包似乎已损坏”【英文标题】:Xamarin Android : Archive - "App not installed. The package appears to be corrupt" 【发布时间】:2020-08-28 20:17:57 【问题描述】:

我们正在将 Xamarin.android 应用程序迁移到 AndroidX。代码迁移完成。很少有依赖库仍在使用旧的支持库,因此也保留了这些旧的支持包 nuget。构建成功。可以调试和部署到模拟器。我也可以使用构建和部署后生成的 APK 进行部署。

问题:当我们创建存档时,会创建签名的 APK,但在设备上安装 APK 时出现以下错误。

App not installed. The package appears to be corrupt.

尝试从设备卸载现有应用程序、单声道运行时、支持库。

有人在进行 AndroidX 迁移时在 VS2019 最新版本上遇到过这个问题吗?

【问题讨论】:

尝试从您的目标设备/模拟器卸载任何现有版本的应用,然后重试。 尝试卸载应用程序和所有支持/Mono 运行时等。正如我所提到的,它在您部署和打包 APK 时有效。只有当您存档和创建签名的 apk 时才会出现问题。很少有库仍在使用旧的支持 v4 库,因此也保留了旧的支持库。 【参考方案1】:

我可能有一个解决方案,因为我遇到了同样的问题:

在您的 AndroidManifest.xml 中,将以下参数添加到应用程序标记:

android:extractNativeLibs="true"

这是由于 android gradle 插件的更改,在 3.6.0 版本中将默认值从 true 更改为 false(来源:https://developer.android.com/guide/topics/manifest/application-element#extractNativeLibs)

我不知道是否有任何副作用,但这为我解决了问题。

【讨论】:

是的,你是对的。它也有影响,因为我们很久以前就尝试过预览 AndroidX nugets,没有问题。接受答案,因为它看起来至少是短期的赌注。 github.com/xamarin/xamarin-android/pull/5021 github.com/xamarin/xamarin-android/issues/4986

以上是关于Xamarin Android:存档-“未安装应用程序。包似乎已损坏”的主要内容,如果未能解决你的问题,请参考以下文章

7.xamarin.android 发布签名与控制apk大小

Xamarin Android 打包发布流程

iOS 存档大小差异:命令行与 Xamarin Studio

无法存档我的 IOS Xamarin 项目的发布版本

由于“缺少所需的图标文件”,无法分发 Xamarin iOS iPad 存档

Phonegap Android 应用程序“未安装应用程序”