Bagaimana Cara Tips dan urutan langkah Gradle pada ANDROID STUDIO?
Gradle dan Android plugin untuk Gradle menyediakan cara yang fleksibel untuk menghimpun, membuat, dan memaketkan aplikasi atau library Android Anda. Halaman ini mengumpulkan beberapa tips dan konfigurasi penting untuk membantu Anda memaksimalkan hasil dari masing-masing build. Jika Anda ingin mempelajari cara mempercepat build, baca Mengoptimalkan Kecepatan Build Anda.
Jika Anda baru mengenal Gradle, pelajari dasar-dasarnya dengan membaca Mengonfigurasi Build Anda. Anda juga bisa memeriksa Dokumentasi referensi DSL Android plugin untuk mempelajari properti yang digunakan di halaman ini lebih lanjut.
Mengelola project dan sumber
Berikut adalah beberapa konfigurasi untuk mengelola modul project beserta sumbernya. Untuk mempelajari cara membuat serta mengelola project dan modul lebih lanjut, baca Ringkasan Project.
Mengubah konfigurasi kumpulan sumber default
Anda bisa menggunakan blok
sourceSets
di file build.gradle
tingkat modul untuk mengubah di mana Gradle mencari untuk mengumpulkan file untuk setiap komponen set sumber.Mengonfigurasi properti lingkup project
Untuk project yang mencakup beberapa modul, sebaiknya tentukan properti di level project dan bagikan ke seluruh modul. Anda bisa melakukannya dengan menambahkan properti tambahan ke blok
ext
dalam file build.gradle
tingkat atas.
Untuk mengakses properti ini dari modul dalam project yang sama, gunakan sintaks berikut pada file
build.gradle
tingkat modul.Mengelola library dan dependensi
Gradle menyediakan mekanisme yang kuat untuk mengelola dependensi, baik library jarak jauh maupun modul library lokal.
Menargetkan build tertentu dengan konfigurasi dependensi
Jika Anda hanya menginginkan dependensi untuk kumpulan sumber varian build tertentu atau kumpulan sumber pengujian, gunakan huruf kapital untuk nama konfigurasi dependensi dan berikan awalan dengan nama varian build atau kumpulan sumber pengujian.
Membuat beberapa versi aplikasi
Gradle dan plugin Android memungkinkan Anda membuat beberapa versi aplikasi dari satu modul dengan mengonfigurasi varian build.
Mengonfigurasi dukungan beberapa APK
Dengan plugin Android, Anda bisa membuat beberapa APK yang masing-masing menargetkan ABI atau kepadatan layar, dan memanfaatkan dukungan multi APK dari Google Play.
Mengonfigurasi APK terpisah untuk setiap kepadatan layar
Untuk membuat APK terpisah untuk kepadatan layar yang berbeda, tambahkan blok
android.splits.density
ke file build.gradle
modul Anda.Mengonfigurasi APK terpisah untuk setiap ABI
Untuk membuat APK terpisah untuk setiap ABI, tambahkan blok
android.splits.abi
ke file build.gradle
modul Anda.Mengonfigurasi kode versi dinamis
Secara default, saat Gradle menghasilkan APK untuk project Anda, setiap APK memiliki informasi versi yang sama, seperti yang ditetapkan dalam file
build.gradle
tingkat modul. Karena Google Play Store tidak mengizinkan multi APK untuk satu aplikasi jika semuanya memiliki informasi versi yang sama, Anda harus memastikan setiap APK memiliki versionCode yang unik sebelum menguploadnya ke Play Store.
Anda bisa melakukan ini dengan logika build khusus yang menetapkan kode versi berbeda ke setiap APK pada waktu build. Misalnya, saat membuat APK terpisah untuk setiap ABI, proses pemberian versi APK otomatis akan terlihat seperti ini:
Menggabungkan beberapa ragam produk
Dalam beberapa situasi, Anda mungkin ingin menggabungkan konfigurasi dari beberapa ragam produk.. Untuk melakukannya, Android plugin untuk Gradle memungkinkan Anda membuat grup ragam produk, yang disebut dimensi ragam.
Contoh kode berikut ini menggunakan properti
flavorDimensions
untuk membuat dimensi ragam "mode" guna mengelompokkan ragam produk "full" dan "demo", serta dimensi ragam "api" guna mengelompokkan konfigurasi ragam produk berdasarkan level API. Gradle kemudian menggabungkan ragam produk dari dimensi "mode" dengan yang ada dalam dimensi "api".Memfilter varian
Anda bisa memfilter varian build yang tidak diinginkan menggunakan blok
variantFilter
dalam file build.gradle
modul. Contoh kode berikut ini memberi tahu Gradle untuk tidak membuat varian apa pun yang menggabungkan ragam produk "minApi21" dan "demo":Menguji aplikasi Anda
Untuk mempelajari cara menjalankan pengujian unit lokal dan terpadu lebih lanjut, baca Menguji Aplikasi Anda.
Mengonfigurasi opsi lint
Anda bisa mengonfigurasi opsi lint tertentu menggunakan blok
lintOptions
di file build.gradle
tingkat modul Anda. Untuk mempelajari penggunaan lint bagi project Android Anda lebih lanjut, baca Menyempurnakan Kode Anda dengan Lint.Mengonfigurasi setelan manifes instrumentasi
Ketika Gradle membuat APK pengujian Anda, tindakan ini secara otomatis menghasilkan file
AndroidManifest.xml
dan mengkonfigurasinya dengan node <instrumentation>
. Anda bisa mengubah beberapa setelan untuk node ini dengan membuat file manifes lain dalam kumpulan sumber pengujian atau mengonfigurasi file build.gradle
tingkat modul seperti yang ditunjukkan dalam contoh kode berikut ini.Mengubah tipe build pengujian
Secara default, semua pengujian dijalankan terhadap tipe build debug. Anda bisa mengubahnya menjadi tipe build lain dengan menggunakan properti
testBuildType
dalam file build.gradle
tingkat modul. Misalnya, jika Anda ingin menjalankan pengujian terhadap tipe build "staging", edit file tersebut seperti yang ditunjukkan dalam cuplikan berikut ini.Mengonfigurasi opsi pengujian Gradle
Untuk menentukan opsi yang mengubah cara Gradle menjalankan semua pengujian Anda, konfigurasikan blok
testOptions
di build.gradle
tingkat modul.
Untuk menentukan opsi bagi pengujian unit lokal saja, konfigurasikan blok
testOptions.unitTests
.Mengoptimalkan build Anda
Bagian ini menyediakan beberapa konfigurasi untuk membantu mempercepat build "full" dan "incremental" Anda. Untuk mempelajari lebih lanjut, baca Mengoptimalkan Kecepatan Build Anda.
Menciutkan kode Anda
Android Studio menggunakan ProGuard untuk menciutkan kode Anda. Untuk project baru, Android Studio menggunakan file setelan default (
proguard-android.txt
) dari tools/proguard/folder
SDK Android. Untuk penciutan kode yang lebih maksimal, cobalah file proguard-android-optimize.txt
yang terdapat di lokasi yang sama.
Untuk menambahkan aturan ProGuard khusus bagi setiap varian build, konfigurasikan properti
proguardFiles
tambahan untuk setiap ragam. Misalnya, contoh berikut ini menambahkan flavor2-rules.pro
ke "flavor2". Sekarang, versi rilis "flavor2" menggunakan ketiga aturan ProGuard karena aturan dari blok rilis juga diterapkan.Memublikasikan aplikasi Anda
Untuk mempelajari cara memublikasikan aplikasi ke Google Play lebih lanjut, baca Memublikasikan Aplikasi Anda.
Menandatangani aplikasi
Meskipun Android Studio menyediakan cara mudah untuk mengonfigurasikan penandatanganan untuk rilis build dari UI, Anda bisa secara manual mengonfigurasi blok
signingConfigs
di file build.gradle
modul Anda:Menghapus informasi penandatanganan pribadi dari project Anda
Secara default, konfigurasi penandatanganan dicatat dalam teks biasa ke file
build.gradle
modul. Jika Anda bekerja dengan tim atau project open source, Anda bisa memindahkan informasi sensitif keluar dari file build dengan melakukan langkah-langkah berikut ini.- Buat file bernama
keystore.properties
dalam direktori root project dan sertakan informasi berikut: - Dalam file
build.gradle
, muat filekeystore.properties
seperti berikut ini (harus diletakkan sebelum blok android): - Masukkan informasi penandatanganan yang disimpan dalam objek
keystoreProperties
: - Klik Sinkronisasikan Sekarang di baris notifikasi.
Untuk mempelajari penandatanganan aplikasi lebih lanjut, baca Menandatangani Aplikasi Anda.
Menyederhanakan pengembangan aplikasi
Tips berikut ini membantu memudahkan proses pengembangan aplikasi Android Anda.
Gunakan nilai resource dan kolom khusus yang sama dengan kode aplikasi Anda
Pada waktu build, Gradle menghasilkan class
BuildConfig
sehingga kode aplikasi Anda bisa memeriksa informasi tentang build saat ini. Anda juga bisa menambahkan kolom khusus ke class BuildConfig
dari file konfigurasi build Gradle menggunakan metode buildConfigField()
dan mengakses nilai-nilai tersebut dalam kode waktu proses aplikasi. Demikian juga, Anda bisa menambahkan nilai resource aplikasi dengan resValue()
.
Dalam kode aplikasi, Anda bisa mengakses properti dengan cara berikut:
Menggunakan properti yang sama dengan manifes
Dalam beberapa situasi, Anda mungkin perlu mendeklarasikan properti yang sama dalam manifes dan kode Anda (misalnya, saat mendeklarasikan otoritas untuk
FileProvider
). Daripada mengupdate properti yang sama di beberapa lokasi untuk merefleksikan perubahan, tetapkan saja satu properti dalam file build.gradle
modul agar tersedia untuk manifes dan kode Anda, seperti yang ditunjukkan dalam contoh berikut ini. Untuk mempelajari lebih lanjut, baca Memasukkan Variabel Build ke dalam Manifes.
Dalam manifes, akses placeholder dengan cara berikut:
Mengakses kolom
FILES_AUTHORITY
dalam kode aplikasi Anda akan terlihat seperti ini:
Komentar
Posting Komentar