Publikowanie aplikacji Lightbuild

Aby opublikować aplikację w Google Play, utwórz jej wersję do publikacji jako pakiet Android App Bundle, podpisz ją kluczem przesyłania i prześlij do Konsoli Play. Na tej stronie dowiesz się, jak skonfigurować podpisywanie wersji w projekcie Lightbuild i utworzyć podpisany pakiet aplikacji za pomocą interfejsu wiersza poleceń Lightbuild.

Tworzenie klucza przesyłania

Google Play używa podpisywania aplikacji przez Google Play do podpisywania plików APK dostarczanych użytkownikom, a Ty podpisujesz przesyłane pakiety aplikacji kluczem przesyłania. Jeśli nie masz jeszcze klucza przesyłania, utwórz go za pomocą narzędzia keytool, które jest dołączone do pakietu JDK:

keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

Polecenie poprosi Cię o podanie haseł do magazynu kluczy i klucza, a następnie utworzy plik magazynu kluczy o nazwie upload-keystore.jks w bieżącym katalogu. Przechowuj magazyn kluczy w bezpiecznej lokalizacji poza projektem i nie dodawaj go do systemu kontroli wersji. Więcej informacji znajdziesz w artykule Podpisywanie aplikacji.

Konfigurowanie podpisywania wersji

W pliku lightbuild.yaml modułu aplikacji dodaj blok signing do profilu release w packaging. Zamiast zapisywać hasła w pliku, odwołuj się do zmiennych środowiskowych za pomocą składni ${NAME}:

android:
  packaging:
    release:
      signing:
        storeFile: "${RELEASE_STORE_FILE}"
        storePassword: "${RELEASE_STORE_PASSWORD}"
        keyAlias: "${RELEASE_KEY_ALIAS}"
        keyPassword: "${RELEASE_KEY_PASSWORD}"

Podczas kompilacji Lightbuild odczytuje każdą wartość ze zmiennej środowiskowej, dzięki czemu hasła nie są przechowywane w plikach projektu. Więcej informacji o tych ustawieniach znajdziesz w sekcji Pakowanie w dokumentacji konfiguracji Lightbuild.

Ustawianie zmiennych środowiskowych

Przed kompilacją ustaw zmienne środowiskowe w terminalu, w którym uruchamiasz interfejs wiersza poleceń Lightbuild. Na przykład w systemie macOS lub 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"

W systemie Windows, w 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"

Zastąp KEYSTORE_PASSWORD i KEY_PASSWORD swoimi hasłami. W systemie CI przechowuj hasła jako obiekty tajne i udostępniaj je kompilacji jako zmienne środowiskowe.

Tworzenie podpisanego pakietu aplikacji

Przed każdym wydaniem zwiększ ustawienie versionCode w pliku lightbuild.yaml modułu aplikacji i w razie potrzeby zaktualizuj versionName. Google Play wymaga wyższego kodu wersji przy każdym przesłaniu. Więcej informacji znajdziesz w poście na temat obsługi wersji aplikacji.

Aby utworzyć podpisany pakiet aplikacji wersji, uruchom:

lightbuild build app:app-release.aab

Lightbuild zapisuje pakiet w pliku app/build/app-release.aab. Aby zobaczyć, gdzie każdy z obiektów docelowych modułu aplikacji zapisuje dane wyjściowe, uruchom polecenie lightbuild query app/... --output=files.

Przesyłanie aplikacji do Google Play

Prześlij podpisany pakiet aplikacji do Konsoli Play. Aby przetestować aplikację, zanim udostępnisz ją użytkownikom, najpierw prześlij ją na ścieżkę testu wewnętrznego. Więcej informacji znajdziesz w artykule Przesyłanie aplikacji do Konsoli Play.