BerandaAndroidPanduan Ubah minSdkVersion Flutter 2.8 ke Atas

Panduan Ubah minSdkVersion Flutter 2.8 ke Atas

Artikel ini menjelaskan cara mengubah minSdkVersion Flutter untuk kompatibilitas paket. Panduan lengkap untuk versi sebelum 2.8 dan setelah 2.8. Ikuti langkah demi langkah agar aplikasi Anda berjalan optimal di berbagai perangkat Android.

Dalam pengembangan aplikasi mobile menggunakan Flutter, salah satu tantangan umum adalah menyesuaikan minSdkVersion dengan kebutuhan paket eksternal. Nilai ini menentukan versi Android terendah yang dapat menjalankan aplikasi Anda. Jika salah mengatur, aplikasi bisa gagal build atau tidak kompatibel dengan pengguna. Oleh karena itu, memahami prosedur perubahan minSdkVersion menjadi keterampilan penting bagi teknisi dan profesional.

Flutter mengalami perubahan signifikan dalam manajemen konfigurasi Android sejak versi 2.8. Sebelumnya, pengembang mengedit langsung file build.gradle. Kini, pendekatan yang lebih fleksibel diperkenalkan melalui file local.properties. Artikel ini akan memandu Anda secara urut dan mendetail, sehingga Anda dapat memilih metode yang sesuai dengan versi Flutter yang digunakan.

Apa Itu minSdkVersion dan Mengapa Penting?

minSdkVersion adalah parameter dalam file build Gradle yang menetapkan level API Android minimum. Perangkat dengan Android di bawah level tersebut tidak bisa menginstal aplikasi. Parameter ini sangat krusial saat Anda menambahkan paket yang membutuhkan fitur API tertentu. Sebagai contoh, paket kamera atau penyimpanan mungkin memerlukan minSdkVersion 21 (Android 5.0) ke atas.

Selain itu, menentukan minSdkVersion yang tepat membantu menyeimbangkan jangkauan audiens dan kemampuan teknis. Terlalu rendah, Anda kehilangan akses ke API modern. Terlalu tinggi, banyak pengguna tidak dapat menjalankan aplikasi. Oleh karena itu, pengaturan ini tidak bisa diabaikan, terutama untuk pengembang game yang menargetkan performa grafis tinggi.

Selalu konsultasikan dokumentasi setiap paket untuk mengetahui minSdkVersion yang disyaratkan sebelum mengubah konfigurasi proyek.

Perbedaan Pengaturan minSdkVersion Sebelum dan Sesudah Flutter 2.8

Flutter 2.8 menjadi titik balik dalam arsitektur konfigurasi Android. Sejak versi ini, tim Flutter merekomendasikan pendekatan terpusat menggunakan local.properties. Metode lama yang mengedit langsung build.gradle masih berfungsi, tetapi kurang praktis untuk proyek besar. Berikut ringkasan perbedaan utama:

  • Versi sebelum 2.8: Ubah nilai minSdkVersion di dalam blok defaultConfig pada file android/app/build.gradle.
  • Versi 2.8 ke atas: Definisikan properti seperti flutter.minSdkVersion di local.properties, lalu panggil dari build.gradle.
  • Keuntungan metode baru: Memisahkan konfigurasi spesifik mesin dari kode sumber, sehingga memudahkan tim yang bekerja bersama.

Jika Anda menggunakan Flutter 3.x atau lebih baru, metode setelah 2.8 tetap berlaku. Bahkan, pendekatan ini menjadi standar dalam template proyek baru. Oleh karena itu, memahami kedua cara sangat berguna untuk memelihara proyek lama maupun baru.

Cara Mengubah minSdkVersion di Flutter Versi Sebelum 2.8

Bagi Anda yang masih mempertahankan proyek dengan Flutter di bawah versi 2.8, ikuti langkah sederhana berikut. Proses ini juga relevan jika Anda mengerjakan kode sumber lama yang belum dimigrasi.

  1. Buka file build.gradle pada direktori Project > android > app > build.gradle.
  2. Temukan blok defaultConfig di dalam bagian android.
  3. Ubah nilai parameter minSdkVersion sesuai kebutuhan. Contoh: minSdkVersion 23.
  4. Simpan file, lalu jalankan perintah flutter clean di terminal.
  5. Build ulang proyek dengan flutter run untuk menguji perubahan.
cara mengubah minSdkVersion Flutter sebelum versi 2.8 dengan mengedit build.gradle
Lokasi file build.gradle yang diedit untuk mengubah minSdkVersion pada Flutter versi lawas

Pastikan Anda tidak mengubah parameter lain yang tidak diperlukan. Kesalahan umum adalah mengedit compileSdkVersion atau targetSdkVersion secara tidak sengaja. Fokus hanya pada minSdkVersion. Setelah perubahan, flutter clean wajib dijalankan agar cache tidak mengganggu.

Cara Mengubah minSdkVersion di Flutter Versi 2.8 ke Atas

Untuk proyek dengan Flutter 2.8 atau lebih tinggi, gunakan metode yang lebih rapi. Langkah ini juga direkomendasikan untuk tim karena konfigurasi tidak tercampur dengan kode versi kontrol.

  1. Buka file local.properties pada Project > android > local.properties. Jika belum ada, file ini akan dibuat otomatis saat pertama kali build.
  2. Tambahkan baris berikut di akhir file (atau ubah jika sudah ada):
    flutter.minSdkVersion=21
    flutter.targetSdkVersion=30
    flutter.compileSdkVersion=30
  3. Buka file build.gradle di folder yang sama (android/app/build.gradle).
  4. Ubah bagian defaultConfig menjadi seperti ini:
    minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
    targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
  5. Simpan kedua file, lalu jalankan flutter clean.
  6. Jalankan flutter run untuk memverifikasi.
setting minSdkVersion Flutter setelah versi 2.8 menggunakan local.properties dan build.gradle
Konfigurasi minSdkVersion di Flutter 2.8 ke atas dengan memisahkan nilai ke local.properties

Keuntungan metode ini adalah Anda dapat mengubah versi SDK hanya dengan memodifikasi satu file. Tim yang menggunakan sistem kontrol versi bisa mengabaikan local.properties (masukkan ke .gitignore), sementara build.gradle tetap konsisten untuk semua anggota.

Peringatan Penting: Setelah mengubah minSdkVersion, selalu jalankan flutter clean dan hapus folder build secara manual jika diperlukan. Cache Gradle terkadang menyimpan nilai lama sehingga perubahan tidak terdeteksi.

Verifikasi dan Troubleshooting

Setelah menerapkan perubahan, lakukan verifikasi dengan perintah flutter build apk. Jika berhasil, file APK akan memiliki minSdkVersion yang baru. Anda bisa mengeceknya menggunakan aapt tool dari Android SDK. Contoh perintah:

aapt dump badging app-debug.apk | grep sdkVersion

Beberapa masalah umum yang sering terjadi:

  • Error “minSdkVersion cannot be less than version declared in library” → Artinya ada paket yang menuntut minSdk lebih tinggi. Naikkan nilai Anda sesuai permintaan paket.
  • Gradle sync gagal → Pastikan sintaks pemanggilan properti di build.gradle benar. Perhatikan huruf besar kecil.
  • Perubahan tidak berpengaruh → Hapus folder .gradle dan build di android/, lalu ulangi flutter clean.

Jika Anda menggunakan CI/CD seperti GitHub Actions atau Jenkins, pastikan file local.properties dibuat secara otomatis dengan nilai yang sesuai. Anda dapat menambahkan langkah echo "flutter.minSdkVersion=21" >> android/local.properties dalam skrip build.

Rekomendasi Nilai minSdkVersion untuk Aplikasi dan Game

Pemilihan angka minSdkVersion harus berdasarkan riset audiens. Untuk aplikasi profesional yang menargetkan pasar luas, nilai 21 (Android 5.0) masih umum karena mencakup lebih dari 90% perangkat aktif. Namun, untuk game dengan grafis berat seperti yang menggunakan Vulkan atau OpenGL ES 3.2, Anda mungkin perlu menaikkan ke 24 (Android 7.0) atau 26 (Android 8.0).

  • minSdkVersion 19 (KitKat) → Hanya untuk dukungan perangkat sangat lama, risiko keamanan tinggi.
  • minSdkVersion 21 (Lollipop) → Pilihan seimbang antara jangkauan dan fitur modern.
  • minSdkVersion 23 (Marshmallow) → Mendukung izin runtime, direkomendasikan untuk aplikasi baru.
  • minSdkVersion 26+ (Oreo) → Untuk game atau aplikasi yang memanfaatkan API terbaru seperti HDR atau JobScheduler.

Selain itu, periksa statistik distribusi versi Android di Android Studio melalui SDK Manager. Data ini membantu Anda membuat keputusan berdasarkan bukti, bukan tebakan.

Kesimpulan

Mengubah minSdkVersion di Flutter adalah tugas rutin yang harus dikuasai setiap pengembang. Baik Anda menggunakan versi lawas (sebelum 2.8) maupun versi terkini, prosedur yang dijelaskan di atas akan memastikan aplikasi kompatibel dengan paket eksternal. Selalu prioritaskan flutter clean setelah setiap perubahan konfigurasi. Dengan pemahaman ini, Anda dapat menghindari kegagalan build dan memberikan pengalaman terbaik kepada pengguna.

Terakhir, jangan ragu untuk menguji di berbagai perangkat emulator dengan level API berbeda. Langkah ini memverifikasi bahwa aplikasi Anda benar-benar berfungsi pada minSdkVersion yang ditetapkan. Selamat mencoba dan optimalkan proyek Flutter Anda!

Artikel Terbaru