Android 系統要求所有 APK 必須先使用證書進行數位簽章,為了保證每個應用程式開發商合法 ID,防止部分開發商可能通過使用相同的包名(pakage name)來混淆替換已經安裝的程式,然後才能安裝到設備上或進行更新。如果您使用 Android App Bundle,則只需要在將 app bundle 上傳到 Play 管理中心之前為其簽名,其餘操作均由 Google Play 應用簽名功能完成。不過,您也可以手動為應用簽名以將其上傳到 Google Play 及其他應用商店。
Android 提供的打包簡略流程圖 |
Debug / Release APK 構建流程圖 |
Android Debug / Release APK 簽名需要配置 4 個參數:
- key alias key 別名
- key password key 密碼
- keystore file 金鑰文件
- keystore password 金鑰密碼
1.ˉˉ 編譯器將您的原始程式碼轉換成 DEX(Dalvik Executable) 檔(其中包括運行在 Android 設備上的位元組碼),將所有其他內容轉換成已編譯資源。
2.ˉˉ APK 打包器將 DEX 檔和已編譯資源合併成單個 APK。不過,必須先簽署 APK,才能將應用安裝並部署到 Android 設備上。
3.ˉˉ APK 打包器使用調試或發佈金鑰庫簽署您的 APK:
ˉˉ3.1. 如果您構建的是調試版本的應用(即專用於測試和分析的應用),打包器會使用調試金鑰庫簽署您的應用。Android Studio 自動使用調試金鑰庫配置新專案。
ˉˉ3.2. 如果您構建的是打算向外發佈的發佈版本應用,打包器會使用發佈金鑰庫簽署您的應用。要創建發佈金鑰庫,請閱讀在 Android Studio 中簽署您的應用
4.ˉˉ 在生成最終 APK 之前,打包器會使用 zipalign 工具對應用進行優化,減少其在設備上運行時的記憶體佔用。
選擇 Build → Generate Signed Bundles / APK |
選擇 APK → Next |
選擇 Create new (第一次選擇新創建) |
輸入資料 → OK |
Password:Confirm:設定存取這個檔案的密碼
Key Alias:金鑰的別名,使用 APP 的名稱即可
Password:Confirm:設定金鑰的密碼
Validity years:有效期限,用預設的 25年即可
Orginization Unit:証書的資料,可選填
選擇 Next |
選擇 release → Finish |
成功產生 Signed APK |
Signed APK 在C:\Development\Development_Android\Android_Project\HelloWorld\app\release |
成功產生 Signed APK,便將 APK 下載到手機內,然後雙擊 APK 安裝,便可安裝程式在手機。
Hello World 應用程式運行 |
金鑰庫: 在 C:\Development\Development_Android\Android_Project\HelloWorld\Keystore\Hello_World.jks
2020年 12月 8日 天氣報告
氣溫:-2.0度 @ 08:00
相對濕度:百分之 67%
天氣:多雲
沒有留言:
張貼留言