如何使用 Xamarin.UITest 为 Android 11 签名 apk?

问题描述

我想使用 Xamarin.UITest 项目来测试我的应用程序(然后将测试上传到应用中心)。

我正在 Visual Studio Community 2019 版本 16.9.4 中编写代码,并希望针对最新的 Android 版本进行构建。

当我尝试在本地运行测试时出现错误

System.Exception:不支持 Mono 共享运行时。这可以通过更改项目配置或使用发布版本解决

关于项目配置

  • 无论是指向 Android 目标框架版本 11(最新)还是 10,我都明白这一点。
  • 在我的 Android 项目的项目属性(Android 选项 -> 打包属性as per this screenshot 中,取消选中“使用共享运行时”选项的明显解决方案不可用。
  • 手动将属性 AndroidUseSharedRuntime 添加.csproj 似乎没有什么区别。

关于发布版本

  • 我已尝试在目标框架版本 10 上针对内置发布模式的 .apk 运行,并且它有效!但我想使用版本 11...

  • 当我的目标框架版本为 11 时,我在测试中收到此错误

    执行失败:C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe -s emulator-5554 安装 -g "C:\Users{name}\AppData\Local\Temp\uitest\a-2351CD300830FF81600819C12D0457454DDA69A2\final-9EB410B8BE4AE99B420FA491930368F065D971A1

    退出代码

    adb:未能安装 C:\Users{name}\AppData\Local\Temp\uitest\a-2351CD300830FF81600819C12D0457454DDA69A2\final-9EB410B8BE4AE99B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919B420FA4919305D198F4919305D169F4919305DRTIS_FALSEPARN_签名失败_CAT_Failure_A_300830FF81600819T或更新的包 {com.package.name}] 执行流式安装

    我已经看到几篇关于此消息 (leads here) 的帖子,Android 11+ 需要以不同的方式进行签名,但我希望(希望)VS 会在与该目标版本签名的过程中自动执行此操作。

所以,我有 2 个问题 - 也许它是一个要么/要么:

  1. 我是否在项目配置中遗漏了某些内容,这意味着在运行测试之前我不需要在本地执行单独的 Release 构建来创建 .apk
  2. 如何让 Xamarin.UITest 使用目标框架版本 11 所需的签名对应用进行签名?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...