Gradle Fehler "Manifest erfordert Platzhalterersetzung", aber ManifestPlaceholders liefert einen Wert

Ich versuche, die AndroidManifest.xml-Datei durch die Android-Erweiterung build.gradle zu ersetzen, erhalte jedoch den folgenden Fehler:

AndroidManifest.xml:89:16 Error:
    Attribute uses-library#com.company.platform.${encoding}@name at AndroidManifest.xml:89:16 requires a placeholder substitution but no value for <encoding> is provided.
/Users/Company/Desktop/Checkout/android/Project/app/src/main/AndroidManifest.xml:0:0 Error:
    Validation failed, exiting
:app:processDebugManifest FAILED

Dies ist ein Ausschnitt aus der Manifest-Datei:

...
     </receiver>
   <uses-library android:name="com.company.platform.${encoding}" />
</application>
...

Und dies ist ein Ausschnitt aus dem build.gradle:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId "com.company.app"
        minSdkVersion 23
        targetSdkVersion 23
        versionName cityVersion
        setProperty("archivesBaseName", "City_$versionName")
        manifestPlaceholders = [encoding: "some value"]
        manifestPlaceholders = [version: cityVersion]
    }

Ich habe auch versucht, die manifestPlaceholders in den buildTypes hinzuzufügen, d. H.

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        manifestPlaceholders = [encoding: deviceEncoding]
        manifestPlaceholders = [version: cityIDVersion]
   }
    debug {
        manifestPlaceholders = [encoding: deviceEncoding]
        manifestPlaceholders = [version: cityIDVersion]
    }

}

Aber ich bekomme immer noch den gleichen Fehler.

Warum gibt es einen Fehler, der eine Platzhalterersetzung erfordert, wenn eine in den Manifest-Platzhaltern vorgesehen ist?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage