Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

マニフェストへのビルド変数の追加

build.gradle ファイルで定義されている変数を AndroidManifest.xml ファイルに追加する必要がある場合は、manifestPlaceholders プロパティを使用して追加できます。このプロパティは、以下に示すように Key-Value ペアのマップを受け取ります。

android {
    defaultConfig {
        manifestPlaceholders = [hostName:"www.example.com"]
    }
    ...
}

さらに、プレースホルダのいずれかを次のような属性値としてマニフェスト ファイルに追加できます。

<intent-filter ... >
    <data android:scheme="http" android:host="${hostName}" ... />
    ...
</intent-filter>

デフォルトでは、アプリのアプリケーション ID もビルドツールにより ${applicationId} プレースホルダに設定されます。この値は、現在のビルドの最終的なアプリケーション ID(ビルド バリアントによる変更を含む)と常に一致します。 これは、ビルド バリアント間でもインテントのアクションなどの識別子に一意の名前空間を使用する場合に役立ちます。

たとえば、build.gradle ファイルが次のようであったとします。

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

この場合、次のようにアプリケーション ID をマニフェストに追加できます。

<intent-filter ... >
    <action android:name="${applicationId}.TRANSMOGRIFY" />
    ...
</intent-filter>

また、「free」プロダクト フレーバーをビルドした場合のマニフェストは次のようになります。

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

詳しくは、アプリケーション ID の設定をご覧ください。