Xuất bản ứng dụng Lightbuild

Để phát hành ứng dụng trên Google Play, bạn cần tạo một phiên bản phát hành của ứng dụng dưới dạng Android App Bundle, ký bằng khoá tải lên rồi tải lên Play Console. Trang này hướng dẫn bạn cách định cấu hình tính năng ký bản phát hành trong một dự án Lightbuild và tạo một gói ứng dụng đã ký bằng Lightbuild CLI.

Tạo khóa tải lên

Google Play sử dụng Tính năng ký ứng dụng của Play để ký các tệp APK mà Google Play phân phối cho người dùng, còn bạn ký các gói ứng dụng mà bạn tải lên bằng khoá tải lên. Nếu bạn chưa có khoá tải lên, hãy tạo một khoá bằng keytool (có trong JDK):

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

Lệnh này sẽ nhắc bạn nhập mật khẩu cho kho khoá và khoá, sau đó tạo một tệp kho khoá có tên là upload-keystore.jks trong thư mục hiện tại. Lưu trữ kho khoá ở một vị trí an toàn bên ngoài dự án và không đưa kho khoá vào hệ thống quản lý phiên bản. Để biết thêm thông tin, hãy xem bài viết Ký ứng dụng.

Định cấu hình ký bản phát hành

Trong tệp lightbuild.yaml của mô-đun ứng dụng, hãy thêm một khối signing vào hồ sơ release trong packaging. Thay vì viết mật khẩu vào tệp, hãy tham chiếu các biến môi trường bằng cú pháp ${NAME}:

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

Khi bạn tạo bản dựng, Lightbuild sẽ đọc từng giá trị từ biến môi trường, vì vậy, mật khẩu của bạn sẽ không được lưu trữ trong các tệp của dự án. Để biết thêm thông tin về các chế độ cài đặt này, hãy xem phần Đóng gói trong tài liệu tham khảo về cấu hình Lightbuild.

Đặt các biến môi trường

Trước khi tạo bản dựng, hãy đặt các biến môi trường trong dòng lệnh nơi bạn chạy Lightbuild CLI. Ví dụ: trên macOS hoặc 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"

Trên Windows, trong 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"

Thay thế KEYSTORE_PASSWORD và KEY_PASSWORD bằng mật khẩu của bạn. Trong hệ thống CI, hãy lưu trữ mật khẩu dưới dạng bí mật và hiển thị mật khẩu cho bản dựng dưới dạng biến môi trường.

Tạo gói ứng dụng đã ký

Trước mỗi bản phát hành, hãy tăng chế độ cài đặt versionCode trong tệp lightbuild.yaml của mô-đun ứng dụng và cập nhật versionName nếu cần. Google Play yêu cầu mã phiên bản cao hơn cho mỗi lần tải lên. Để biết thêm thông tin, vui lòng xem nội dung Lập phiên bản ứng dụng.

Để tạo gói ứng dụng phát hành có chữ ký, hãy chạy lệnh:

lightbuild build app:app-release.aab

Lightbuild ghi gói vào app/build/app-release.aab. Để xem vị trí mà mỗi mục tiêu của mô-đun ứng dụng ghi kết quả đầu ra, hãy chạy lightbuild query app/... --output=files.

Tải ứng dụng lên Google Play

Tải gói ứng dụng đã ký lên Play Console. Để thử nghiệm ứng dụng trước khi phát hành cho người dùng, trước tiên, hãy tải ứng dụng lên một kênh thử nghiệm nội bộ. Để biết thêm thông tin, hãy xem bài viết Tải ứng dụng lên Play Console.