發布 Lightbuild 應用程式

如要在 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 管理中心」。