Bagaimana Cara Mengonfigurasi build aplikasi pada ANDROID STUDIO?
lalu memaketkannya menjadi APK yang bisa Anda uji, deploy, tanda tangani, dan distribusikan.
Sistem build Android mengompilasi resource dan kode sumber aplikasi lalu memaketkannya menjadi APK yang bisa Anda uji, deploy, tanda tangani, dan distribusikan. Android Studio menggunakan Gradle, sebuah toolkit build canggih, untuk mengotomatiskan dan mengelola proses build sekaligus memungkinkan Anda menentukan konfigurasi build khusus yang fleksibel. Setiap konfigurasi build bisa menentukan resource dan kumpulan kodenya sendiri, sekaligus menggunakan kembali bagian umumnya ke semua versi aplikasi Anda. Plugin Android untuk Gradle bekerja dengan toolkit build ini agar proses dan setelan bisa dikonfigurasi yang spesifik untuk membuat dan menguji aplikasi Android.
Gradle dan plugin Android berjalan secara independen dari Android Studio. Ini berarti, Anda bisa membuat aplikasi Android dari dalam Android Studio, command line di komputer, atau di komputer yang tidak memiliki Android Studio (seperti server continuous integration). Jika Anda tidak menggunakan Android Studio, Anda bisa mempelajari cara membuat dan menjalankan aplikasi dari command line. Output buildnya akan sama saja, baik Anda membuat project dari command line, di komputer jarak jauh, maupun menggunakan Android Studio.
Catatan: Karena Gradle dan plugin Android berjalan secara independen dari Android Studio, Anda perlu mengupdate fitur build secara terpisah. Baca catatan rilis untuk mempelajari cara mengupdate Gradle dan plugin Android.
Fleksibilitas sistem build Android memungkinkan Anda melakukan konfigurasi build khusus tanpa mengubah file sumber inti aplikasi. Bagian ini membantu Anda memahami cara kerja sistem build Android, dan bagaimana sistem ini bisa membantu Anda menyesuaikan dan mengotomatiskan beberapa konfigurasi build. Jika Anda hanya ingin mempelajari cara menerapkan aplikasi lebih lanjut, lihat Membuat dan Menjalankan dari Android Studio. Untuk segera mulai membuat konfigurasi build khusus menggunakan Android Studio, lihatMengonfigurasi Varian Build.
Proses build
Proses build melibatkan banyak fitur dan pemrosesan yang mengonversi project Anda menjadi Paket Aplikasi Android (APK). Proses build sangat fleksibel, jadi, Anda perlu memahami beberapa kejadian dalam detail pemrosesannya.

Gambar 1. Proses build modul aplikasi Android khusus.
Proses build modul aplikasi Android khusus, seperti yang ditunjukkan pada gambar 1, ikuti langkah umum berikut:
- Compiler mengonversi kode sumber Anda menjadi file DEX (Dalvik Executable), yang menyertakan bytecode yang berjalan di perangkat Android, serta hal-hal lainnya menjadi resource yang dikompilasi.
- APK Packager menggabungkan file DEX dan resource yang dikompilasi menjadi satu APK. Namun, sebelum aplikasi bisa diinstal dan di-deploy ke perangkat Android, APK harus ditandatangani terlebih dahulu.
- APK Packager menandatangani APK Anda menggunakan keystore debug atau rilis:
- Jika Anda membuat sebuah versi debug aplikasi, yaitu aplikasi yang hanya ditujukan untuk pengujian dan pembuatan profil, packager akan menandatangani aplikasi dengan keystore debug. Android Studio secara otomatis mengonfigurasi project baru dengan keystore debug.
- Jika Anda membuat versi rilis aplikasi yang ditujukan untuk dirilis secara eksternal, packager akan menandatangani aplikasi dengan keystore rilis. Untuk membuat keystore rilis, baca tentang menandatangani aplikasi Anda di Android Studio.
- Sebelum menghasilkan APK final, packager menggunakan fitur zipalign untuk mengoptimalkan aplikasi Anda agar menghemat memori ketika berjalan di perangkat.
Di akhir proses build, Anda akan mendapatkan sebuah APK debug atau APK rilis dari aplikasi yang bisa Anda gunakan untuk di-deploy, diuji, atau dirilis kepada pengguna eksternal.
Konfigurasi build khusus
Gradle dan plugin Android membantu Anda mengonfigurasi aspek-aspek build berikut ini:
- Jenis Build
- Jenis build menentukan properti tertentu yang digunakan Gradle ketika membuat dan memaketkan aplikasi, dan biasanya dikonfigurasi untuk berbagai tahap siklus pengembangan. Misalnya, jenis build debug mengaktifkan opsi debug dan menandatangani APK dengan kunci debug, sedangkan jenis build rilis bisa menciutkan, menyamarkan, dan menandatangani APK dengan kunci rilis untuk distribusi. Anda harus menentukan setidaknya satu jenis build untuk membuat aplikasi; Android Studio membuat jenis build rilis dan debug secara default. Untuk mulai menyesuaikan setelan pengemasan bagi aplikasi, pelajari cara Mengonfigurasi Jenis Build.
- Ragam Produk
- Ragam produk merepresentasikan versi berbeda dari aplikasi yang mungkin Anda rilis untuk pengguna, seperti versi aplikasi gratis dan berbayar. Anda bisa menyesuaikan ragam produk agar menggunakan kode dan resource yang berbeda, sekaligus berbagi dan menggunakan kembali bagian-bagian yang umum untuk semua versi aplikasi. Ragam produk bersifat opsional dan Anda harus membuatnya secara manual. Untuk mulai membuat versi aplikasi yang berbeda, pelajari cara Mengonfigurasi Ragam Produk.
- Varian Build
- Varian build adalah produk persilangan dari tipe build dan ragam produk, dan merupakan konfigurasi yang digunakan Gradle untuk membuat aplikasi. Dengan menggunakan varian build, Anda bisa membuat versi debug dari ragam produk selama pengembangan, atau menandatangani versi rilis dari ragam produk untuk distribusi. Meskipun tidak harus mengonfigurasi varian build secara langsung, Anda perlu mengonfigurasi jenis build dan ragam produk yang membentuknya. Membuat jenis build atau ragam produk tambahan juga akan membuat varian build tambahan. Untuk mempelajari cara membuat dan mengelola varian build, baca ringkasan Mengonfigurasi Varian Build.
- Entri Manifes
- Anda bisa menentukan nilai untuk beberapa properti file manifes dalam konfigurasi varian build. Nilai build ini menggantikan nilai yang ada dalam file manifes. Ini berguna jika Anda ingin menghasilkan beberapa APK untuk modul dan masing-masing file apk memiliki nama aplikasi, versi SDK minimum, atau versi SDK target yang berbeda. Jika ada beberapa manifes, Gradle akan menggabungkan semua setelan manifes.
- Dependensi
- Sistem build mengelola dependensi project dari filesystem lokal Anda dan dari repositori jarak jauh. Dengan demikian, Anda tidak perlu menelusuri, mendownload, dan menyalin paket biner dependensi secara manual ke dalam direktori project. Untuk mencari tahu selengkapnya, lihat Menambahkan Dependesi Build.
- Penandatanganan
- Sistem build memungkinkan Anda menentukan setelan penandatanganan dalam konfigurasi build, dan bisa secara otomatis menandatangani APK selama proses build. Sistem build menandatangani versi debug dengan sertifikat dan kunci default menggunakan kredensial yang dikenal untuk menghindari permintaan sandi pada waktu build. Sistem build tidak menandatangani versi rilis kecuali Anda secara eksplisit menentukan konfigurasi penandatanganan untuk build ini. Jika Anda tidak memiliki kunci rilis, Anda bisa membuatnya seperti yang dijelaskan dalam Menandatangani Aplikasi Anda.
- ProGuard
- Sistem build memungkinkan Anda menentukan file aturan ProGuard yang berbeda untuk setiap varian build. Sistem build bisa menjalankan ProGuard untuk menciutkan dan menyamarkan class selama proses build.
- Dukungan Multi-APK
- Sistem build memungkinkan Anda untuk secara otomatis membuat APK berbeda yang masing-masing hanya berisi kode dan resource yang dibutuhkan untuk kepadatan layar tertentu atau Application Binary Interface (ABI). Untuk mengetahui informasi selengapnya, lihat Membuat multi-APK.
File konfigurasi build
Proses pembuatan konfigurasi build khusus mengharuskan Anda membuat perubahan terhadap satu atau beberapa file konfigurasi build, atau file
build.gradle. File teks biasa ini menggunakan Domain Specific Language (DSL) untuk menggambarkan dan memanipulasi logika build menggunakan Groovy, yaitu bahasa dinamis untuk Java Virtual Machine (JVM). Anda tidak perlu mengetahui Groovy untuk mulai mengonfigurasi build karena plugin Android untuk Gradle memperkenalkan sebagian besar elemen DSL yang Anda butuhkan. Untuk mempelajari DSL plugin Android lebih lanjut, baca Dokumentasi referensi DSL.
Ketika memulai project baru, Android Studio secara otomatis akan membuat beberapa file ini untuk Anda, seperti dalam gambar 2, dan mengisinya berdasarkan default yang logis.

Gambar 2. Struktur project default untuk modul aplikasi Android.
Ada beberapa file konfigurasi build Gradle yang merupakan bagian dari struktur project standar untuk aplikasi Android. Sebelum Anda bisa mulai mengonfigurasi build, penting untuk memahami cakupan dan tujuan setiap file ini, serta elemen DSL dasar yang harus ditetapkannya.
File setelan Gradle
File
settings.gradle, yang terletak dalam direktori root project, yang memberi tahu Gradle tentang modul yang harus disertakannya ketika membuat aplikasi. Untuk sebagian besar project, filenya sederhana dan hanya berisi:
Namun, project multi-modul harus menentukan setiap modul yang harus dimasukkan ke build final.
File build tingkat atas
File
build.gradle tingkat atas, yang terletak dalam direktori root project, mendefinisikan konfigurasi build yang berlaku untuk semua modul dalam project Anda. Secara default, file build tingkat atas menggunakan blokbuildscript untuk menentukan repositori dan dependensi Gradle yang sama bagi semua modul dalam project. Contoh kode berikut ini menjelaskan elemen DSL dan setelan default yang bisa Anda temukan dalam build.gradle tingkat atas setelah membuat project baru.Mengonfigurasi properti lingkup project
Untuk project Android yang mencakup beberapa modul, kami sarankan agar Anda menentukan properti tertentu di tingkat project dan membagikannya ke semua 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 ini dalam file
build.gradle modul (pelajari file ini lebih lanjut pada bagian di bawah ini).
Catatan: Meskipun Gradle memungkinkan Anda menentukan properti lingkup project di tingkat modul, Anda harus menghindari hal ini karena menyebabkan modul yang membagikan properti tersebut akan digabungkan. Penggabungan modul nantinya akan mempersulit proses mengekspor modul sebagai project mandiri dan akan mencegah Gradle menggunakan eksekusi project paralel untuk mempercepat build multimodul.
File build tingkat modul
File
build.gradle tingkat modul, yang terletak dalam setiap direktori project/module/, memungkinkan Anda mengonfigurasi setelan build untuk modul tertentu tempatnya berada. Mengonfigurasi setelan build ini memungkinkan Anda untuk menyediakan opsi pemaketan khusus, seperti ragam produk dan tipe build tambahan, serta mengganti setelan dalam file manifes aplikasi main/ atau file build.gradle tingkat atas.
Contoh file
build.gradle modul aplikasi Android ini menguraikan beberapa elemen DSL dan setelan dasar yang harus Anda ketahui.File properti Gradle
Gradle juga menyertakan dua file properti, yang terletak dalam direktori root project, yang bisa Anda gunakan untuk menentukan setelan bagi toolkit build Gradle itu sendiri:
gradle.properties- Di sini, Anda bisa mengonfigurasi setelan Gradle lingkup project, seperti ukuran heap maksimum daemon Gradle. Untuk mengetahui informasi selengkapnya, lihat Lingkungan Build.
local.properties- Mengonfigurasi properti lingkungan lokal untuk sistem build, seperti lokasi untuk penginstalan SDK. Karena konten dari file ini otomatis dihasilkan oleh Android Studio dan dikhususkan untuk lingkungan developer lokal, sebaiknya jangan mengubah file ini secara manual atau memeriksanya dalam sistem kontrol versi.
Menyinkronkan project dengan file Gradle
Jika Anda membuat perubahan pada file konfigurasi build dalam project, Android Studio akan mengharuskan Anda untuk menyinkronkan file project supaya bisa mengimpor perubahan konfigurasi build dan menjalankan beberapa pemeriksaan untuk memastikan konfigurasi Anda tidak akan menimbulkan error build.
Untuk menyinkronkan file project, klik Sinkronisasikan Sekarang di baris notifikasi yang muncul saat Anda membuat perubahan, seperti dalam gambar 3, atau klik Sinkronisasikan Project
dari panel menu. Jika Android Studio menemukan kesalahan dalam konfigurasi Anda, misalnya kode sumber Anda menggunakan fitur API yang hanya tersedia di tingkat API yang lebih tinggi dari
dari panel menu. Jika Android Studio menemukan kesalahan dalam konfigurasi Anda, misalnya kode sumber Anda menggunakan fitur API yang hanya tersedia di tingkat API yang lebih tinggi dari compileSdkVersion, jendela Pesan akan muncul untuk menjelaskan masalah ini.
Gambar 3. Menyinkronkan project dengan file konfigurasi build di Android Studio.
Kumpulan sumber
Android Studio secara logis mengelompokkan kode sumber dan resource untuk setiap modul ke dalam kumpulan sumber. Kumpulan sumber
main/ modul berisi kode dan resource yang digunakan oleh semua varian build-nya. Direktori kumpulan sumber tambahan bersifat opsional, dan Android Studio tidak secara otomatis membuatnya saat Anda mengonfigurasi varian build baru. Namun, membuat kumpulan sumber, yang mirip dengan main/, akan membantu menata file dan resource yang hanya boleh digunakan Gradle ketika membuat versi aplikasi tertentu:src/main/- Kumpulan sumber ini berisi kode dan resource yang sama bagi semua varian build.
src/buildType/- Buat kumpulan sumber ini untuk memuat kode dan resource bagi tipe build tertentu saja.
src/productFlavor/- Buat kumpulan sumber ini untuk memuat kode dan resource bagi ragam produk tertentu saja.Catatan: Jika build Anda dikonfigurasi agar menggabungkan beberapa ragam produk, Anda bisa membuat direktori kumpulan sumber bagi setiap kombinasi ragam produk antar-dimensi ragam:
src/productFlavor1ProductFlavor2/ src/productFlavorBuildType/- Buat kumpulan sumber ini untuk memuat kode dan resource bagi varian build tertentu saja.
Misalnya, untuk menghasilkan versi "fullDebug" aplikasi, sistem build akan menggabungkan kode, setelan, dan resource dari kumpulan sumber berikut:
src/fullDebug/(kumpulan sumber varian build)src/debug/(kumpulan sumber tipe build)src/full/(kumpulan sumber ragam produk)src/main/(kumpulan sumber utama)
Catatan: Saat membuat file atau direktori baru di Android Studio menggunakan opsi menu File > Baru, Anda bisa membuatnya untuk kumpulan sumber tertentu. Kumpulan sumber yang bisa dipilih didasarkan pada konfigurasi build Anda, dan Android Studio secara otomatis membuat direktori yang diperlukan jika belum ada.
Jika kumpulan sumber yang berbeda memuat beberapa versi untuk file yang sama, Gradle menggunakan urutan prioritas berikut ini saat menentukan file yang akan digunakan (kumpulan sumber di sebelah kiri menggantikan file dan setelan kumpulan sumber di sebelah kanan):
varian build > tipe build > ragam produk > kumpulan sumber utama > dependensi library
Hal ini memungkinkan Gradle menggunakan file khusus bagi varian build yang sedang Anda buat, sekaligus menggunakan kembali aktivitas, logika aplikasi, dan resource yang sama bagi versi aplikasi lainnya. Saat menggabungkan beberapa manifes, Gradle menggunakan urutan prioritas yang sama sehingga setiap varian build bisa menentukan komponen atau izin yang berbeda dalam manifes final. Untuk mempelajari cara membuat kumpulan sumber khusus lebih lanjut, buka Membuat Kumpulan Sumber untuk Varian Build.
Komentar
Posting Komentar