Halaman ini menjelaskan setelan aplikasi yang berguna di build.gradle.kts
level modul
. Selain memberikan ringkasan tentang properti penting yang ditetapkan dalam
build.gradle.kts
, pelajari cara:
- Mengubah ID aplikasi untuk konfigurasi build yang berbeda.
- Menyesuaikan namespace dengan aman apa pun ID aplikasi-nya.
Menyetel ID aplikasi
Setiap aplikasi Android memiliki ID aplikasi unik yang terlihat seperti nama paket Java atau Kotlin, misalnya com.example.myapp. ID ini secara unik mengidentifikasi aplikasi Anda di perangkat dan Google Play Store.
ID aplikasi ditentukan oleh properti applicationId
dalam atribut modul Anda
build.gradle.kts
, seperti yang ditunjukkan di sini. Perbarui nilai applicationId
dengan mengganti com.example.myapp
dengan
ID aplikasi:
Kotlin
android { defaultConfig { applicationId = "com.example.myapp" minSdk = 15 targetSdk = 24 versionCode = 1 versionName = "1.0" } ... }
Groovy
android { defaultConfig { applicationId "com.example.myapp" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" } ... }
Meskipun ID aplikasi terlihat seperti nama paket Kotlin atau Java tradisional, aturan pemberian nama untuk ID aplikasi sedikit lebih ketat:
- Nama harus memiliki setidaknya dua bagian (satu atau beberapa titik).
- Setiap bagian harus diawali dengan huruf.
- Semua karakter hanya boleh berupa alfanumerik atau garis bawah [a-zA-Z0-9_].
Saat Anda membuat project baru di Android
Studio, applicationId
akan otomatis diberi nama paket yang Anda pilih saat penyiapan. Secara teknis,
Anda dapat mengalihkan kedua properti secara independen sejak saat itu, tetapi
hal ini tidak direkomendasikan.
Sebaiknya Anda melakukan hal berikut saat menyetel ID aplikasi:
- Pastikan ID aplikasi tetap sama dengan namespace. Perbedaan antara dua properti tersebut bisa sedikit membingungkan, tetapi jika nama keduanya tetap sama, Anda tidak perlu khawatir.
- Jangan mengubah ID aplikasi setelah memublikasikan aplikasi. Jika Anda mengubahnya, Google Play Store akan memperlakukan upload berikutnya sebagai aplikasi baru.
- Tentukan ID aplikasi secara eksplisit. Jika ID aplikasi tidak ditentukan secara eksplisit
menggunakan properti
applicationId
, ID tersebut akan otomatis menggunakan nilai yang sama dengan namespace. Artinya, mengubah namespace akan mengubah ID aplikasi, yang biasanya bukan yang Anda inginkan.
Mengubah ID aplikasi untuk pengujian
Secara default, alat build akan menerapkan ID aplikasi ke APK
uji instrumentasi
Anda menggunakan ID aplikasi untuk varian build yang ditentukan yang ditambah dengan
.test
. Misalnya, APK pengujian untuk
com.example.myapp.free
varian build
memiliki ID aplikasi
com.example.myapp.free.test
.
Meskipun tidak wajib, Anda dapat mengubah ID aplikasi dengan
menentukan properti testApplicationId
dalam blok defaultConfig
atau
productFlavor
.
Menetapkan namespace
Setiap modul Android memiliki namespace, yang digunakan sebagai nama paket Kotlin atau Java
untuk
class R
dan BuildConfig
yang dihasilkannya.
Namespace Anda ditentukan oleh properti namespace
dalam file
build.gradle.kts
modul, seperti yang ditunjukkan dalam cuplikan kode berikut. namespace
awalnya diatur ke nama paket
yang Anda pilih saat Anda
buat project Anda.
Kotlin
android { namespace = "com.example.myapp" ... }
Groovy
android { namespace "com.example.myapp" ... }
Saat mem-build aplikasi menjadi paket aplikasi akhir (APK), alat
build Android menggunakan namespace sebagai namespace untuk class R
yang dihasilkan
aplikasi Anda, yang digunakan untuk mengakses
resource aplikasi.
Misalnya, dalam file build sebelumnya, class R
dibuat di com.example.myapp.R
.
Nama yang Anda setel untuk properti namespace
file build.gradle.kts
akan selalu cocok dengan nama paket dasar project, tempat Anda menyimpan
aktivitas dan kode aplikasi lainnya. Anda dapat memiliki sub-paket lainnya di
project, tetapi file tersebut harus mengimpor class R
menggunakan
namespace dari properti namespace
.
Untuk alur kerja yang lebih sederhana, namespace harus sama dengan ID aplikasi, seperti saat default-nya.
Mengubah namespace
Pada umumnya, Anda harus membiarkan namespace dan ID aplikasi tetap sama, seperti default-nya. Namun, Anda mungkin harus mengubah namespace pada waktu tertentu jika sedang menata ulang kode atau untuk menghindari konflik namespace.
Dalam kasus ini, ubah namespace dengan memperbarui
properti namespace
dalam file build.gradle.kts
modul Anda, apa pun
ID aplikasi-nya. Sebelum melakukannya, pastikan ID aplikasi Anda
ditentukan secara eksplisit sehingga mengubah namespace tidak akan mengubah
ID aplikasi. Untuk mengetahui informasi selengkapnya tentang pengaruh namespace terhadap
ID aplikasi, lihat Menyetel ID aplikasi.
Jika nama namespace
dan applicationId
Gradle berbeda, alat build akan menyalin
ID aplikasi ke file manifes akhir aplikasi Anda di akhir build.
Jadi, jika Anda memeriksa file AndroidManifest.xml
setelah proses build,
atribut package
akan ditetapkan ke
ID aplikasi. Atribut package
dari manifes gabungan adalah tempat
Google Play Store dan platform Android benar-benar mencari untuk mengidentifikasi aplikasi Anda.
Mengubah namespace untuk pengujian
Namespace default untuk set sumber androidTest
dan test
adalah namespace
utama, dengan .test
ditambahkan di akhir. Misalnya, jika
Properti namespace
dalam file build.gradle
adalah
com.example.myapp
,
namespace pengujian secara default disetel ke
com.example.myapp.test
.
Guna mengubah namespace untuk pengujian, gunakan
properti
testNamespace
, seperti yang ditunjukkan dalam cuplikan kode berikut:
Kotlin
android { namespace = "com.example.myapp" testNamespace = "com.example.mytestapp" ... }
Groovy
android { namespace "com.example.myapp" testNamespace "com.example.mytestapp" ... }
Perhatian: Jangan setel testNamespace
dan
namespace
ke nilai yang sama, atau konflik
namespace akan terjadi.
Untuk mempelajari pengujian lebih lanjut, lihat Menguji aplikasi di Android.