O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Injetar variáveis de compilação no manifesto

Caso você precise inserir variáveis no arquivo AndroidManifest.xml que estão definidas no arquivo build.gradle, isso poderá ser feito com a propriedade manifestPlaceholders (link em inglês). Essa propriedade usa um mapa de pares de chave-valor, conforme mostrado aqui:

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

Você pode inserir um dos marcadores no arquivo de manifesto como um valor de atributo como este:

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

Por padrão, as ferramentas de compilação também fornecem o ID do aplicativo no marcador ${applicationId}. O valor sempre corresponde ao ID do aplicativo final para o build atual (incluindo mudanças por variantes de compilação). Isso é útil quando você quer usar um namespace exclusivo para identificadores, como uma ação da intent, mesmo entre suas variantes de compilação.

Por exemplo, se o arquivo build.gradle tiver esta aparência:

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

Então, você poderá inserir o ID do aplicativo no manifesto da seguinte forma:

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

E o resultado do manifesto quando você criar a variação "free" do produto será este:

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

Para ver mais informações, leia Definir o ID do aplicativo.