在 Visual Studio 中準備 APK
你完成了應用程式,在除錯模式下進行了測試,並且它執行良好。現在,你要準備好在 Google Play 商店中釋出。
Xamarin 文件提供了良好的資訊:
Android Manifest
首先,在 Visual Studio 中,右鍵單擊解決方案資源管理器中的 Xamarin.Android 專案,然後選擇屬性。然後,轉到 Android Manifest 選項卡,檢視此螢幕:
與 Android Studio 或 Eclipse 不同,你不需要通過編寫設定 AndroidManifest.xml 檔案; Xamarin 和 Visual Studio 為你做到這一點。通過在類中宣告特定屬性,將活動,BroadcastReceivers 和服務插入到 Android Manifest 中 。
在此螢幕中,選項包括:
- 應用程式名稱 :這是使用者可見的應用程式名稱。
- 包名稱 :這是包名稱。它必須是唯一的,這意味著它不得使用與 Google Play 商店中其他應用相同的包名稱。
- 應用程式圖示 :這是使用者可見的圖示,相當於 Android Studio 或 Eclipse 專案中使用的 @ drawable / ic_launcher。
- 版本號 :Google Play 使用版本號進行版本控制。如果要為應用的更新版本釋出 APK,則必須為每個新升級新增 1 到此數字。
- 版本名稱 :這是將顯示給使用者的版本名稱。
- 安裝位置 :這決定了 APK 的安裝位置,裝置儲存空間或 SD 卡。
- 所需許可權 :你可以在此處確定應用所需的許可權。
Android 選項
在下面的螢幕中,你可以配置編譯器選項。在這裡使用正確的選項可以減少你的 APK 大小,並防止錯誤。
- 配置 : 活動(釋出) 。
- 平臺 : 活動(任何 CPU) 。這些是為 Google Play 商店構建 APK 所必需的。如果配置設定為除錯,Google Play 將不會接受該配置。
- 使用共享執行時 : false 。如果將其設定為 true,則 APK 將使用 Mono Runtime 執行。通過 USB 除錯時會自動安裝 Mono Runtime,但不會在 Release APK 中安裝。如果裝置中未安裝 Mono Runtime,並且在 Release APK 中將此選項設定為 true,則應用程式將崩潰。
- 每個選定的 ABI 生成一個包(.apk) : false 。出於相容性原因,為儘可能多的平臺建立 APK。
- 啟用 Multi-Dex : true ,但如果你的應用程式不是很複雜(即,方法少於 65536,請參見此處 ) ,你可以將其設定為 false。
- 啟用 Proguard : true 。這使 Proguard 工具能夠混淆應用程式中的 Java 程式碼。請注意,它不適用於 .NET 程式碼; 如果要混淆 .NET 程式碼,則必須使用 Dotfuscator 。有關 Proguard for Xamarin.Android 的更多資訊,請點選此處 。
- 啟用開發人員檢測(除錯和分析) : 對於 Release APK,為 false 。
- 連結 : SDK 和使用者程式集。這將使 Xamarin 連結器從 SDK 和你的程式碼中刪除所有未使用的類,從而減小 APK 大小。
重要
Xamarin.Linker 有時可能會刪除程式碼似乎沒有使用的類,特別是如果它們位於專案的 Core(PCL 庫)中。為避免這種情況,你可以將連結設定為“僅限 Sdk 程式集”或使用類中的保留屬性,例如:
PreserveAttribute.cs
namespace My_App_Core.Models
{
public sealed class PreserveAttribute : System.Attribute
{
public bool AllMembers;
public bool Conditional;
}
}
在課堂上:
using System;
namespace My_App_Core.Models
{
[Preserve(AllMembers = true)]
public class ServiceException : Exception
{
public int errorCode;
[Preserve(AllMembers = true)]
public ServiceException() { }
[Preserve(AllMembers = true)]
public ServiceException(int errorCode)
{
this.errorCode = errorCode;
}
}
}
- 支援的體系結構 : 出於相容性原因,選擇 all 。
配置完所有內容後,重建專案以確保它成功構建。
為釋出模式建立 APK
你已完成為 Release 版配置 Android 專案。下面的教程展示瞭如何在 Visual Studio 中生成 APK。可以在此處找到 Xamarin 文件的完整教程:
要建立 APK 檔案,請在解決方案資源管理器中右鍵單擊 Xamarin.Android 專案,然後選擇存檔…
這將開啟存檔管理器並開始存檔專案,準備建立 APK 檔案。
完成專案歸檔後,單擊“分發…”繼續。
Distribute 螢幕將顯示兩個選項:Ad-hoc 和 Google Play。第一個將建立一個 APK 並將其儲存在你的計算機中。第二個將直接在 Google Play 中釋出該應用。
建議選擇第一個,這樣你就可以根據需要在其他裝置上測試 APK。
在以下螢幕中,需要 Android 金鑰儲存區來對 APK 進行簽名。如果你已經有一個,可以通過單擊匯入…來使用它; 如果不這樣做,可以通過單擊+建立新的 Android 金鑰庫。
建立一個新的 Android Key Store 螢幕:
要建立 APK,請單擊另存為。系統可能會提示你鍵入金鑰儲存區密碼。
完成後,你可以單擊存檔螢幕上的開啟資料夾以檢視生成的 APK 檔案。