El error "manifiesto requiere una sustitución de marcador de posición", pero manifestPlaceholders proporciona un valor
Estoy tratando de realizar una sustitución dentro del archivo AndroidManifest.xml de la extensión de Android build.gradle, pero recibo este error:
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
Este es un fragmento del archivo de manifiesto:
...
</receiver>
<uses-library android:name="com.company.platform.${encoding}" />
</application>
...
Y esto es un fragmento de 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]
}
También he intentado agregar los manifestPlaceholders en buildTypes, es decir
buildTypes {
release {
minifyEnabled true
shrinkResources true
manifestPlaceholders = [encoding: deviceEncoding]
manifestPlaceholders = [version: cityIDVersion]
}
debug {
manifestPlaceholders = [encoding: deviceEncoding]
manifestPlaceholders = [version: cityIDVersion]
}
}
Pero sigo teniendo el mismo error.
¿Por qué hay un error al requerir una sustitución de marcador de posición cuando se proporciona uno en los marcadores de PlacePlace?