在您開發完成 Xamarin.Android 應用程式之後,您需要產生一個Android應用程式套件,簡稱 APK (
Android application packages
) 檔案,這個檔案的副檔名是 .apk。其實就是一個壓縮 ZIP 檔案,您可以使用任何 ZIP 解壓縮軟體,既可以開啟查看這個檔案內包含了那些檔案。在這個 APK 壓縮檔案內,將會與 Android 套件內的架構與內容都一樣,不過,因為是透過 Xamarin.Android 開發出來的 APK,這還會包含一個資料夾assemblies
,裡面存放了 .NET 組件 (Assembly)與包含 Mono 執行時期的原生程式庫也會在這個 APK 內。
當您需要進行提交該應用程式到 Google Play 內或者想要進行內部 Beta 測試或者佈署到企業內部內使用,您都需要先產生這個 APK 檔案,為了要確保 APK 的資料完整性與沒有被其他人竄改,所以,您需要對這個 APK 進行數位簽名的動作,在簽名之前,您需要打造或者擁有一把您自己的金鑰,做為日後識別這個 APK 檔案確實是由您包裝出來的,而且內容沒有被串改過。
底下文章將會說明如何產生這個 APK 檔案與打造一把自己用於數位簽名的金鑰或者使用之前打造過的金鑰。
這篇筆記的操作內容,僅僅適用於 Xamarin Android 7.0 以後的版本,要如何檢查您的 Visual Studio 內的環境是甚麼 Xamarin Android 版本,請在 Visual Studio 的功能表,點選說明
>關於 Microsoft Visual Studio
;就會看到如下圖畫面,此時,您會看到這台電腦上的 Xamarin Android 安裝的是 7.0.0.18 版本。
當您在使用 Xamarin.Android 來進行 Xamarin.Forms 應用程式的除錯,Xamarin.Android 使用內建預設的金鑰褲來進行您的除錯版本程式的簽名,這個檔案位於:
C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\debug.keystore
產生 APK & 使用程式碼簽名新的金鑰
- 請先設定 Android 的原生專案變成
設定為起始專案
- 滑鼠右擊 Android 的原生專案,選擇
Archive
- 此時,會出現
Archive Manager
,點選要產生 APK 的檔案項目,接著點選下方的 [Distribute] 按鈕 - 出現另外一個畫面,
Distribute
對話窗,若您尚未建立自己的簽名金鑰,請點選下方的+
按鈕這個時候,出現了Android Key Store
對話窗,請填寫這些基本資料,建議所有欄位都要填寫,最後按下Create
按鈕,您的金鑰就產生好了。您建立的金鑰將會產生在這個目錄之下,請記得要將您自己產生的金鑰複製保存好C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android\Keystore
- 回到
Distribute
對話窗,點選要進行簽名的金鑰,接著點選Save As
按鈕,選擇要輸出的 APK 檔案路徑。 - 最後,會回到
Archive Manager
視窗,您可以點選Open Distribution
按鈕,您就會看到剛剛產生且已經簽名過的 APK 檔案;若您要取得尚未簽名的 APK 檔案,請記得要點選Open Folder
按鈕,就會看到了。
安装包解析出错。。
回覆刪除製作金鑰的時候,所有的欄位都要填寫
刪除