在 AndroidManifest 中使用 Build 变量

Chi*_*Lad 5 android android-manifest build.gradle

如何将 build.gradle 中的变量包含在 AndroidManifest 数据标记内。

我试过

<data scheme="${applicationId}.something">
Run Code Online (Sandbox Code Playgroud)

但我收到错误NullPointerException: No record for key [data]

小智 1

你可以试试

...
defaultConfig {
...

   buildConfigField("String", "PROVIDER_KEY", "\"$applicationId\"")
   manifestPlaceholders = [providerKey: "$applicationId"]

}
Run Code Online (Sandbox Code Playgroud)

并使用

<provider
        android:name=".provider.NavigationMenuContent"
        android:authorities="${providerKey}"
        android:exported="false" />
Run Code Online (Sandbox Code Playgroud)

或者

static final String AUTHORITY = BuildConfig.PROVIDER_KEY;
Run Code Online (Sandbox Code Playgroud)

请参阅文档 https://developer.android.com/studio/build/gradle-tips https://developer.android.com/studio/build/manifest-build-variables