android - 将 Xamarin.Forms APK 部署到客户的设备时安装失败
问题描述
我在客户的 Android 设备中安装 Xamarin.Forms Aapp 时遇到问题;在 Android 9.0 以下的 Android 设备上安装 APK 失败
我使用 Visual Studio 2019 开发了一个 Xamarin.Forms 应用程序,并将目标 android 版本设置如下;
Compile Using Android Version (Target Framework) - 9.0
Target Android Version - 9.0
Minimum Android Version - 5.0
我将 android 选项设置为以下,并构建了发布模式、存档和签名的输出 APK。
Use Share Runtime - off
Bundle assemblies into native code - on
aapt2 - on
Multi-Dex- On
Dex Compiler - D8
Code Shrinker - None
Enable developer instrumentation (debugging and profiling) - on
AOT - On
LLVM Optimization Compiler - On
Enable Startup Tracing - On
输出 APK 在我的测试 Android 5.0.1 设备上安装得很好。
但是,它没有安装在Android 9.0以下的其他android设备上。它在 Android 9.0 设备上安装得很好。
我发现我的测试 Android 5.0.1 设备有 Xamarin.Android API-28 支持模块,因为我之前执行过调试模式。当我删除它时,我可以重现这个问题——我的应用程序安装失败。
我的应用使用 Android 7.0 和 9.0 的一些 API,但我添加了检查 Android 版本,因此它适用于 Android 5.0.1 和 Android 6/7/8/9。
我怀疑安装我的应用程序可能需要Xamarin.Android API-28 支持模块。
但是,用户先安装 Xamarin.Android API-28 Support 模块是没有意义的,我找不到 Xamarin.Android API-28 Support 模块的 APK 文件。
如何让我的应用安装到 Android 5.0.1 及更高版本而不会出现安装问题?
解决方案
推荐阅读
- angular - 为什么我的初始 ngrx 状态不适用于 ngIf
- java - 如何引用添加到二叉树的方法?
- python - PYOMO:对抽象模型集的操作
- android - 为什么将 Glide 作为 ByteArray 的图像加载到 ImageView 时不会根据 EXIF 旋转它?
- tableau-api - 如何在仪表板中创建一个下拉或多选过滤器来过滤所有工作表?
- webgl - WebGL 是否能够使用 GPU 的全部功能?
- android - 将 Dismissible 放在 PageView 中。扑
- android - 模拟器可以使用数据库但设备不能
- node.js - 是否可以通过 websockets 进行服务器到服务器的通信?
- javascript - 如何在 on 方法中检查事件长度?