如要在 Google Play 發布應用程式,請將應用程式的發布版本建構為 Android App Bundle,使用上傳金鑰簽署,然後上傳到 Play 管理中心。本頁面說明如何在 Lightbuild 專案中設定版本簽署,並使用 Lightbuild CLI 建構已簽署的應用程式套件。
建立上傳金鑰
Google Play 會使用 Play 應用程式簽署功能簽署要提供給使用者的 APK,而您則會使用上傳金鑰簽署上傳的應用程式套件。如果還沒有上傳金鑰,請使用 JDK 隨附的 keytool 建立:
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
系統會提示您輸入 KeyStore 和金鑰的密碼,然後在目前目錄中建立名為 upload-keystore.jks 的 KeyStore 檔案。請將 KeyStore 儲存在專案以外的安全位置,且不要將其登錄至版本管控系統。詳情請參閱「簽署應用程式」。
設定版本簽署
在應用程式模組的 lightbuild.yaml 檔案中,將 signing 區塊新增至 packaging 中的 release 設定檔。請使用 ${NAME} 語法參照環境變數,不要在檔案中寫入密碼:
android:
packaging:
release:
signing:
storeFile: "${RELEASE_STORE_FILE}"
storePassword: "${RELEASE_STORE_PASSWORD}"
keyAlias: "${RELEASE_KEY_ALIAS}"
keyPassword: "${RELEASE_KEY_PASSWORD}"
建構時,Lightbuild 會從環境變數讀取每個值,因此密碼不會儲存在專案檔案中。如要進一步瞭解這些設定,請參閱 Lightbuild 設定參考資料中的「Packaging」。
設定環境變數
建構前,請在執行 Lightbuild CLI 的終端機中設定環境變數。例如,在 macOS 或 Linux 上:
export RELEASE_STORE_FILE="$HOME/keystores/upload-keystore.jks"
export RELEASE_STORE_PASSWORD="KEYSTORE_PASSWORD"
export RELEASE_KEY_ALIAS="upload"
export RELEASE_KEY_PASSWORD="KEY_PASSWORD"
在 Windows 的 PowerShell 中:
$env:RELEASE_STORE_FILE = "$HOME\keystores\upload-keystore.jks"
$env:RELEASE_STORE_PASSWORD = "KEYSTORE_PASSWORD"
$env:RELEASE_KEY_ALIAS = "upload"
$env:RELEASE_KEY_PASSWORD = "KEY_PASSWORD"
將 KEYSTORE_PASSWORD 和 KEY_PASSWORD 替換為您的密碼。在 CI 系統中,將密碼儲存為密鑰,並以環境變數的形式公開給建構作業。
建構已簽署的應用程式套件
每次發布前,請提高應用程式模組 lightbuild.yaml 檔案中的 versionCode 設定,並視需要更新 versionName。Google Play 要求每次上傳的版本代碼都必須更高。詳情請參閱「管理應用程式版本」。
如要建構已簽署的發布版應用程式套件,請執行:
lightbuild build app:app-release.aab
Lightbuild 會將套件寫入 app/build/app-release.aab。如要查看應用程式模組的各個目標將輸出內容寫入何處,請執行 lightbuild query app/... --output=files。
將應用程式上傳到 Google Play
將已簽署的應用程式套件上傳至 Play 管理中心。如要在向使用者發布應用程式前進行測試,請先將應用程式上傳至內部測試群組。詳情請參閱「將應用程式上傳至 Play 管理中心」。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 透過指令列建構 Lightbuild 專案
- Lightbuild 設定參考資料
- Lightbuild CLI 參考資料