Packaging Flutter To Play Store

Packaging atau Berkas paket aplikasi Android (Application Package File, disingkat APK di di android) adalah format berkas yang digunakan untuk mendistribusikan dan memasang software dan middleware ke ponsel dengan sistem operasi Android, mirip dengan paket MSI pada Windows atau Deb pada OS Debian.

Pengertian Flutter

Flutter adalah sebuah framework aplikasi mobil sumber terbuka yang diciptakan oleh Google. Flutter digunakan dalam pengembangan aplikasi untuk sistem operasi Android dan iOS, serta menjadi metode utama untuk membuat aplikasi Google Fuchsia.

Pengertian Playstore

Google Play, sebelumnya Android Market, adalah layanan distribusi digital yang dioperasikan dan dikembangkan oleh Google. Ini berfungsi sebagai toko aplikasi resmi untuk sistem operasi Android, yang memungkinkan pengguna untuk menelusuri dan mengunduh aplikasi yang dikembangkan dengan Android software development kit (SDK) dan diterbitkan melalui Google.

Google Play juga berfungsi sebagai toko media digital, yang menawarkan program musik, buku, film, dan televisi. Ini sebelumnya menawarkan perangkat keras Google untuk pembelian sampai diperkenalkannya pengecer perangkat keras online yang terpisah, Google Store, pada 11 Maret 2015, dan juga menawarkan publikasi berita dan majalah sebelum perbaikan Google News pada 15 Mei 2018.

Menambahkan Launcher Icon
  1. Perhatikan Icon Guideline, jangan sampai melanggar copyright
  2. https://material.io/design/iconography/product-icons.html#design-principles
  3. Pada <app dir>/android/app/src/main/res/ letakan icon anda.
  4. pada AndroidManifest.xml, update android:icon yang mereferensikan pada lokasi icon anda

Signing App

1. Linux/Mac User:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

2. Windows User:
keytool -genkey -v -keystore c:\Users\USER_NAME\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

3. Buat file
<app dir>/android/key.properties
storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=key
storeFile=<location of the key store file, such as /Users/<user name>/key.jks>

Konfigurasi Signing App

1. Konfigurasi pada Gradle anda
<app dir>/android/app/build.gradle pada block code android tambahkan:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
...
}

2. Konfigurasi pada Gradle anda
<app dir>/android/app/build.gradle pada block code buildType tambahkan:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}

Review Manifest

Pengaturan uses-permission pada manifest Android seperti mengijinkan penggunaan Internet, sensor, kamera, dll. https://developer.android.com/guide/topics/manifest/uses-permission-element?hl=id

Building App for release
  1. Build App Bundle:
    • cd <app dir>
    • flutter build appbundle
  2. Build APK:
    • cd <app dir>
    • flutter build apk --split-per-abi
  3. Install APK:
    • cd <app dir>
    • flutter install

Generate Release APK

Dari command prompt, Generate Release APK dengan Kode berikut:
$ cd android
$ ./gradlew bundleRelease


Setelah selesai, ulangi Bagian ke-3 dari module untuk submit APK ke play store