目的
很早就有想编写安卓程序玩玩的念头了,所以这次学习将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.打开终端程序并导航到项目文件夹
2.运行keytool工具
keytool -genkey -v -keystore myapp.keystore -alias key -keyalg RSA -keysize 2048 -validity 10000
按照提示输入密码等设置
该工具生成 一个 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
包含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的地址只能你自己在你电脑上找了。
来源地址:MAUI打包签名发布APK使用方法
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^