Upload Playstore
Berikut adalah tutorial lengkap untuk mengunggah aplikasi Flutter ke Google Play Store, mulai dari persiapan awal hingga proses publikasi.
link youtube
https://www.youtube.com/watch?v=ZxjgV1YaOcQ&t=140s&ab_channel=CodeHQ
Langkah 1: Mengganti Icon Launcher
Cara termudah dan paling direkomendasikan adalah menggunakan paket flutter_launcher_icons
.
Tambahkan Dependensi:
Buka file pubspec.yaml dan tambahkan flutter_launcher_icons di bawah dev_dependencies.
YAML
dev_dependencies: flutter_test: sdk: flutter flutter_launcher_icons: "^0.13.1" # Versi bisa berbeda
Konfigurasi Ikon:
Masih di pubspec.yaml, tambahkan konfigurasi berikut di level utama. Siapkan file ikon Anda (misalnya icon.png ukuran 1024x1024) dan letakkan di dalam folder assets/.
YAML
flutter_launcher_icons: android: "launcher_icon" ios: false image_path: "assets/icon.png" # Sesuaikan path ke file ikon Anda min_sdk_android: 21 # optional

Jalankan Perintah:
Buka terminal di project Anda dan jalankan perintah berikut untuk membuat semua varian ikon yang dibutuhkan.
Bash
flutter pub get flutter pub run flutter_launcher_icons
Langkah 2: Mengganti Nama Paket (Package Name)
Nama paket adalah identitas unik aplikasi Anda di Play Store (format: com.perusahaan.aplikasi
). Gunakan paket change_app_package_name
untuk kemudahan.
Tambahkan Dependensi:
Buka file pubspec.yaml dan tambahkan paket di dev_dependencies.
YAML
dev_dependencies: flutter_test: sdk: flutter change_app_package_name: "^1.1.0" # Versi bisa berbeda

Jalankan Perintah:
Di terminal, jalankan perintah berikut. Ganti com.new.packagename dengan nama paket yang Anda inginkan.
Bash
flutter pub get flutter pub run change_app_package_name:main com.new.packagename
Langkah 3: Menaikkan Versi Aplikasi
Setiap kali Anda mengunggah versi baru ke Play Store, Anda wajib menaikkan versionCode
.
Buka pubspec.yaml:
Temukan baris version.
YAML
version: 1.0.0+1
1.0.0
adalahversionName
: Teks versi yang dilihat pengguna.+1
adalahversionCode
: Nomor internal yang harus selalu naik (misal: 1, 2, 3, ...) untuk setiap rilis. Google Play Store menolak unggahan denganversionCode
yang sama atau lebih rendah dari versi yang sudah ada.
Langkah 4: Membuat Keystore (Kunci Tanda Tangan Aplikasi)
PENTING: Proses ini hanya dilakukan sekali untuk setiap aplikasi. Simpan file keystore (.jks
) dan password-nya di tempat yang sangat aman. Jika hilang, Anda tidak akan bisa memperbarui aplikasi Anda lagi.
Jalankan Perintah Keytool:
Buka terminal Anda dan jalankan perintah berikut. Perintah ini menggunakan keytool yang sudah termasuk dalam instalasi Java Development Kit (JDK).
Untuk Windows (di Command Prompt atau PowerShell):
Bash
keytool -genkey -v -keystore upload-key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
Untuk macOS/Linux (di Terminal):
Bash
keytool -genkey -v -keystore upload-key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
Isi Informasi:
Terminal akan meminta Anda untuk:
Membuat password untuk keystore.
Mengisi beberapa informasi (Nama, Organisasi, Kota, dll.).
Membuat password untuk alias 'upload' (disarankan samakan dengan password keystore).

Pindahkan File Keystore:
Setelah file upload-key.jks (atau nama lain yang Anda tentukan) berhasil dibuat, pindahkan file tersebut ke dalam folder android/app/ di dalam proyek Flutter Anda.

Langkah 5: Konfigurasi Gradle untuk Menggunakan Keystore
Buat File key.properties:
Di dalam direktori android/ proyek Anda, buat file baru bernama key.properties. Isi file tersebut dengan informasi berikut (ganti dengan password dan alias Anda):
Properties
storePassword=password_keystore_anda keyPassword=password_alias_anda keyAlias=upload storeFile=../app/upload-key.jks
Tambahkan key.properties ke .gitignore:
Buka file .gitignore di root proyek Anda dan tambahkan baris berikut agar file rahasia ini tidak terunggah ke Git.
/android/key.properties
Edit android/app/build.gradle:
Buka file android/app/build.gradle.
Di bagian atas file, di bawah
apply plugin: 'com.android.application'
, tambahkan kode untuk memuatkey.properties
.
// Import diletakkan di bagian paling atas file.
import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
// Logika untuk memuat file properties diletakkan setelah blok plugins.
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "com.example.flutter_supabase_notes_app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString()
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.flutter_supabase_notes_app"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
// --- BLOK YANG DIPERBAIKI ---
signingConfigs {
// Gunakan create("release") untuk membuat konfigurasi baru di KTS
create("release") {
if (keystorePropertiesFile.exists()) {
// Gunakan '=' untuk assignment dan getProperty("...") untuk mengambil nilai
storeFile = file(keystoreProperties.getProperty("storeFile"))
storePassword = keystoreProperties.getProperty("storePassword")
keyAlias = keystoreProperties.getProperty("keyAlias")
keyPassword = keystoreProperties.getProperty("keyPassword")
}
}
}
buildTypes {
// Gunakan getByName("release") untuk mengkonfigurasi build type yang sudah ada
getByName("release") {
// Mengatur agar build type 'release' menggunakan konfigurasi 'release' yang telah dibuat di atas.
signingConfig = signingConfigs.getByName("release")
}
}
// --- AKHIR BLOK YANG DIPERBAIKI ---
}
flutter {
source = "../.."
}
Langkah 6: Membangun App Bundle (.aab)
Google Play Store mewajibkan format App Bundle (.aab
) karena ukurannya lebih kecil dan efisien.
Jalankan Perintah Build:
Di terminal, jalankan perintah berikut:
Bash
flutter build appbundle
Temukan Hasil Build:
Setelah selesai, file rilis akan berada di:
build/app/outputs/bundle/release/app-release.aab
Langkah 7: Mengunggah ke Google Play Console
Login & Buat Aplikasi:
Buka Google Play Console.
Klik Buat aplikasi.
Isi detail awal seperti Nama Aplikasi, Bahasa, dll.
Siapkan Rilis:
Dari menu sebelah kiri, navigasikan ke Rilis > Produksi.
Klik Buat rilis baru.
Unggah App Bundle:
Pada bagian "App bundle", unggah file
app-release.aab
yang telah Anda buat pada Langkah 6.Play Console akan otomatis membaca
versionCode
danversionName
.
Isi Detail Rilis:
Tulis "Catatan Rilis" (Apa yang baru di versi ini?).
Lengkapi Detail Aplikasi (Store Listing):
Di menu sebelah kiri, di bawah bagian Rating dan ulasan, lengkapi semua bagian yang diperlukan. Anda tidak bisa mempublikasikan aplikasi sebelum semua bagian ini memiliki tanda centang hijau. Ini termasuk:
Dasbor: Selesaikan semua tugas awal.
Konten aplikasi: Isi semua kuesioner kebijakan (Kebijakan Privasi, Iklan, Akses Aplikasi, Target Audiens, dll). Anda wajib memiliki URL Kebijakan Privasi.
Halaman listingan toko utama: Siapkan semua aset grafis:
Nama Aplikasi, Deskripsi Singkat, Deskripsi Lengkap.
Ikon Aplikasi: (512 x 512 piksel).
Grafik Fitur: (1024 x 500 piksel).
Screenshot: Minimal 2 screenshot untuk ponsel. Screenshot untuk tablet dan Chromebook juga sangat dianjurkan.
Rilis Aplikasi:
Setelah semua langkah di atas selesai dan semua menu di sidebar kiri memiliki tanda centang hijau, kembali ke Rilis > Produksi.
Klik Edit rilis, lalu klik Tinjau rilis.
Jika tidak ada error, tombol Mulai peluncuran ke Produksi akan aktif. Klik tombol tersebut.
Aplikasi Anda sekarang akan masuk dalam proses peninjauan oleh tim Google, yang bisa memakan waktu beberapa jam hingga beberapa hari. Setelah disetujui, aplikasi Anda akan tersedia di Google Play Store.
Last updated
Was this helpful?