MAUI发布APK初体验

目的

很早就有想编写安卓程序玩玩的念头了,所以这次学习将MAUI程序生成apk包来玩。

本文apk下载地址:https://azrng.lanzouv.com/iBQRe0eeg8wf ,内容很简单,一个时间轴以及一个点击按钮切换背景图的东西,时间轴是学习Masa Blazor教程的,背景图的接口还是网上白嫖的,重点学习发布了apk,下面来简单介绍一下我的发布步骤吧

切记项目目录不要带中文

程序包设置

每个应用都应该指定唯一的包标识符和版本,配置在项目的.csproj文件中

<!– 显示名 –>
<ApplicationTitle>MauiAppBlazor</ApplicationTitle>

<!– App 标识 –>
<ApplicationId>com.companyname.mauiappblazor</ApplicationId>
<ApplicationIdGuid>48CF021D-51ED-47B9-B8BC-E6005BE37A8A</ApplicationIdGuid>

<!– 版本 –>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>

 

创建密钥存储文件

使用密钥存储文件对包进行签名, Java/Android SDK 包含生成密钥存储所需的工具。生成密钥存储文件后,将它添加到项目中,并将项目文件配置为引用它。提前安装 Java SDK ,以便你可以运行 keytool 工具。

执行下面的步骤创建密钥存储文件

1.打开终端程序并导航到项目文件夹

图片[1]-MAUI发布APK初体验-www.88531.cn资享网

2.运行keytool工具

keytool -genkey -v -keystore myapp.keystore -alias key -keyalg RSA -keysize 2048 -validity 10000

按照提示输入密码等设置

图片[2]-MAUI发布APK初体验-www.88531.cn资享网

该工具生成 一个 myapp.keystore 文件,该文件应与项目位于同一文件夹中。

添加对密钥存储文件的引用

修改项目的csproj文件做以下配置

<PropertyGroup Condition=”$(TargetFramework.Contains(‘-android’)) and ‘$(Configuration)’ == ‘Release'”>
<AndroidKeyStore>True</AndroidKeyStore> <!–设置为 True 对应用进行签名–>
<AndroidSigningKeyStore>myapp.keystore</AndroidSigningKeyStore> <!–在上一部分中创建的密钥存储文件:myapp.keystore–>
<AndroidSigningKeyAlias>key</AndroidSigningKeyAlias> <!–传递给 keytool 工具的参数值:键–>
<AndroidSigningKeyPass>1234567</AndroidSigningKeyPass> <!–创建密钥存储文件时提供的密码–>
<AndroidSigningStorePass>1234567</AndroidSigningStorePass> <!–创建密钥存储文件时提供的密码–>
</PropertyGroup>

发布

使用.Net命令行来发布

dotnet publish -f:net7.0-android -c:Release /p:AndroidSigningKeyPass=123456 /p:AndroidSigningStorePass=1234567

参数介绍

-f :目标框架,例如net7.0-android

-c:生成配置,例如Release

/p:AndroidSigningKeyPass:上面AndroidSigningKeyPass项目设置的值,也就是创建密钥文件时候的密码

/p:AndroidSigningStorePass :上面AndroidSigningStorePass项目设置的值,也就是创建密钥文件时候的密码

发布之后会生成到相对路径为:\bin\Release\net7.0-android\publish

图片[3]-MAUI发布APK初体验-www.88531.cn资享网

包含aab文件和apk文件,有两个 aab 文件,一个未签名,另一个已签名。签名的变体在文件名中具有 -signed 。

错误处理

如果打包的时候遇到“error XA5300: 找不到 Android SDK 目录。请检查 Visual Studio 中的 Android SDK 管理器是否显示有效的安装。若要使用命令行 生成的自定义 SDK 路径,请将 “AndroidSdkDirectory” MSBuild 属性设置为自定义路径。”那么可以修改上面的发布命令为

dotnet publish -f:net7.0-android -c:Release /p:AndroidSigningKeyPass=123456 /p:AndroidSigningStorePass=1234567 /p:AndroidSdkDirectory=D:\Android\android-sdk

 

 

 

这个安卓sdk的地址只能你自己在你电脑上找了。

参考资料

官网资料:https://learn.microsoft.com/zh-cn/dotnet/maui/android/deployment/publish-cli

来源地址:MAUI发布APK初体验

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^

© 版权声明
THE END
喜欢就支持一下吧
点赞22 分享