Jika perlu memasukkan variabel ke dalam file AndroidManifest.xml
yang
ditentukan dalam file build.gradle
, Anda dapat melakukannya dengan
properti
manifestPlaceholders
. Properti ini menggunakan peta key-value pair, seperti yang ditunjukkan di bawah ini:
Groovy
android { defaultConfig { manifestPlaceholders = [hostName:"www.example.com"] } ... }
Kotlin
android { defaultConfig { manifestPlaceholders["hostName"] = "www.example.com" } ... }
Selanjutnya, Anda dapat memasukkan salah satu placeholder ke dalam file manifes sebagai nilai atribut, seperti ini:
<intent-filter ... >
<data android:scheme="https" android:host="${hostName}" ... />
...
</intent-filter>
Secara default, alat build juga memberikan ID aplikasi
untuk aplikasi dalam
placeholder ${applicationId}
. Nilai ini selalu cocok dengan ID aplikasi akhir untuk build saat ini (termasuk perubahan menurut varian build.
Hal ini berguna saat Anda ingin menggunakan namespace unik untuk ID seperti tindakan intent, bahkan di antara varian build Anda.
Misalnya, jika file build.gradle
Anda seperti ini:
Groovy
android { defaultConfig { applicationId "com.example.myapp" } productFlavors { free { applicationIdSuffix ".free" } pro { applicationIdSuffix ".pro" } } }
Kotlin
android { defaultConfig { applicationId = "com.example.myapp" } productFlavors { create("free") { applicationIdSuffix = ".free" } create("pro") { applicationIdSuffix = ".pro" } } }
Anda dapat memasukkan ID aplikasi dalam manifes Anda, seperti ini:
<intent-filter ... >
<action android:name="${applicationId}.TRANSMOGRIFY" />
...
</intent-filter>
Dan hasil manifes saat Anda membuat ragam produk "free" adalah:
<intent-filter ... >
<action android:name="com.example.myapp.free.TRANSMOGRIFY" />
...
</intent-filter>
Untuk informasi selengkapnya, baca Menetapkan ID aplikasi.