在现代软件开发中,利用Xamarin平台可以创建跨平台的应用程序,这些应用可以在Windows、Android和iOS等多个操作系统上运行。随着ARM架构的流行,特别是AArch64架构,开发者需要考虑如何充分利用这些平台的性能。本文将介绍如何设置开发环境,构建和部署原生AArch64 Xamarin应用,以及如何利用Visual Studio 2022进行开发。
Xamarin是一个开源的应用平台,允许开发者使用C#和.NET创建现代应用程序,并且可以在任何地方运行。这通常意味着它可以在任何版本的Windows上运行,但在本文中,将其扩展到包括AArch64架构的Windows。
在开始开发之前,必须设置开发环境。如果还没有安装Visual Studio 2022(VS2022),现在是时候安装了。对于本文,免费的社区版就足够了,并且它可以与之前的Visual Studio版本无缝协作。
安装VS2022时,会自动安装.NET 6 SDK,这比.NET 5更受推荐,因为.NET 5在2022年5月8日已经停止支持。
下载并启动安装程序后,选择“.NET移动开发”工作负载,这包括Xamarin开发。还可以根据自己的需要添加其他工作负载。
如果已经安装了VS2022,可以通过启动Visual Studio Installer来验证是否安装了这个工作负载。这允许根据需要向VS2022安装中添加更多组件。
打开VS2022,并在启动页面上选择“克隆仓库”。在下一页中,输入Git仓库URL。对于演示应用程序,请使用https://github.com/xamarin/xamarin-forms-samples。路径必须指向计算机上的一个空文件夹。
点击“克隆”将仓库复制到机器上。Visual Studio打开并显示文件夹视图中的所有文件。
在文件夹视图中,双击Xuzzle解决方案。现在可以看到解决方案资源管理器:
Xamarin应用程序有三个平台。右键点击Xuzzle.UWP并选择“设为启动项目”。
在PC上运行项目并开始玩Xuzzle。快速休息一下,享受游戏。
现在已经在开发机器上完美运行应用程序了。接下来,可以让它在AArch64设备上运行。
首先,部署到开发环境。然后,为项目选择“发布模式”。否则,将部署带有所有不必要开销的调试版本。然而,如果想要远程调试应用程序,部署调试版本是一个合适的选择。
接下来,右键点击Xuzzle.UWP项目并选择“发布”>“创建应用包”。
对于分发方法,有两种可能性:
选择Sideloading并点击“下一步”。
在下一页中,必须选择一个证书。如果没有现成的证书,可以通过点击“创建”来创建一个。
要创建一个自签名的测试证书,输入一个发布者通用名称(例如公司名称)和一个密码。点击“确定”。这将创建一个新的证书并将其导入证书存储。
记下密码,因为需要它来在AArch64设备上安装证书。
在下一页中,选择“是”以使用当前证书并接受所有默认设置。
现在,选择x64和ARM。如果想要在x86设备上尝试应用程序,也可以保持该复选框的选择。点击“创建”开始新的构建并发布应用程序。
首先,测试它是否在机器上工作。打开Windows“开始”菜单并搜索“Xuzzle”。它应该在列表中,并且准备好再次游戏。
设置共享文件夹不是一个必须的步骤。可以以任何喜欢的方式将包文件夹传输到AArch64设备。但是,这种方式的劳动强度最小,并且容易重复。在开发机器上重建解决方案就足够了。
从开发机器设置共享文件夹。可以通过在文件资源管理器中右键点击这个路径的文件夹来做到这一点:
C:\_projects\Blog\xamarin-forms-samples\Xuzzle\Xuzzle\Xuzzle.UWP\AppPackages\Xuzzle.UWP_1.0.0.0_Debug_Test
如果更喜欢从命令提示符操作,以管理员模式打开一个shell并输入:
net share Xuzzle.UWP=C:\_projects\Blog\xamarin-forms-samples\Xuzzle\Xuzzle\Xuzzle.UWP
在AArch64设备上,使用net use命令连接到文件夹:
net use x: //DevmachineName/Xuzzle.uwp
现在在文件资源管理器中看到一个新X驱动器。
回想一下,必须创建一个证书来签名应用程序。必须在AArch64设备上安装这个受信任的证书。最简单的方法是使用命令提示符以管理员模式并输入:
certutil.exe -addstore TrustedPeople .\Xuzzle.UWP_1.0.0.0_x64_arm_Debug.cer
现在AArch64设备上一切都准备就绪,准备安装应用程序。
在管理员命令提示符下,转到AppPackages\Xuzzle.UWP_1.0.0.0_Debug_Test文件夹。有一个名为install.ps1的PowerShell脚本。运行此脚本将定位所有必要的依赖项,然后安装应用程序。
现在可以再次游戏了。