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.打開終端程序並導航到項目文件夾

img

2.運行keytool工具

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

按照提示輸入密碼等設置

img

該工具生成 一個 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

img

包含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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章