Publish cho Android

Bước 1: Tạo một keystore

Nếu đã có keystore thì bỏ qua bước này và thực hiện bước tiếp theo. Nếu không thì thực hiện đoạn lệnh bên dưới với <path> là đường dẫn tạo file key:

keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key -storetype JKS
circle-info

Keytool có thể chưa được set vào path. Chạy lệnh flutter doctor -v và cd vào đường dẫn ở sau "Java binary at:".

Macbook sài chip Apple (M1) JDK sẽ không có sẵn. Cần tải thêm tại đâyarrow-up-right.

Bước 2: Tham chiếu keystore vào trong ứng dụng

Tạo file có tên key.properties trong thư mục android trong đó password, keyAlias là những thông tin khi tạo key.

storePassword=<password>
keyPassword=<password>
keyAlias=key
storeFile=<path>/key.jks

Bước 3: Cấu hình gradle

Thay đổi file <dir>/android/app/build.gradle tại các vị trí:

Thay đoạn android { bởi thông tin keystore

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
   keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {

Thay đoạn

Bởi đoạn

Bước 4: Tạo file release

Chạy lệnh bên dưới để release apk tại thư mục build\app\outputs\apk\release

Hoặc chạy lệnh bên dưới để release file dưới dạng appbundle tại thư mục build\app\outputs\bundle\release

circle-info

Định dạng appbundle (*.aab) được khuyến khích khi đăng trên Google Store vì sẽ được Google tối ưu dung lượng của ứng dụng. Đối với định dạng apk thì dung lượng sẽ không được tối ưu.

Một số trường hợp cần lấy SHA1/SHA256 Key cho 2 chế độ debug và relase. Thì có thể chạy lệnh như bên dưới:

  • Debug key

  • Release Key

Bước 5: Publish lên CH Play

Truy cập vào Google Consolearrow-up-right để tạo một Ứng dụng mới hoặc update ứng dụng cũ bằng file dạng appbundle (*.aab) hoặc file apk (*.apk) .

circle-info

App-Signing

java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --encryptionkey=xxx --include-cert

Last updated