Memasukkan variabel build ke dalam manifes

Jika perlu memasukkan variabel ke dalam file AndroidManifest.xml yang ditentukan dalam file build.gradle, Anda dapat melakukannya dengan properti manifestPlaceholders. Properti ini mengambil peta key-value pair, seperti ditunjukkan di bawah ini:

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="http" android:host="${hostName}" ... />
        ...
    </intent-filter>
    

Secara default, fitur build juga memberikan ID aplikasi untuk aplikasi Anda dalam placeholder ${applicationId}. Nilai ini selalu cocok dengan ID aplikasi akhir untuk build saat ini (termasuk perubahan menurut varian build. 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 terlihat seperti ini:

android {
        defaultConfig {
            applicationId "com.example.myapp"
        }
        productFlavors {
            free {
                applicationIdSuffix ".free"
            }
            pro {
                applicationIdSuffix ".pro"
            }
        }
    }
    

Maka 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 ini:

<intent-filter ... >
       <action android:name="com.example.myapp.free.TRANSMOGRIFY" />
        ...
    </intent-filter>
    

Untuk informasi selengkapnya, baca Menetapkan ID aplikasi.