Gradle «манифест требует замены подстановки», но manifestPlaceholder предоставляет значение
Я пытаюсь выполнить подстановку в файле AndroidManifest.xml с расширением android build.gradle, но получаю эту ошибку:
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
Это фрагмент файла манифеста:
...
</receiver>
<uses-library android:name="com.company.platform.${encoding}" />
</application>
...
И это фрагмент 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]
}
Я также попытался добавить manifestPlaceholder в buildTypes, т.е.
buildTypes {
release {
minifyEnabled true
shrinkResources true
manifestPlaceholders = [encoding: deviceEncoding]
manifestPlaceholders = [version: cityIDVersion]
}
debug {
manifestPlaceholders = [encoding: deviceEncoding]
manifestPlaceholders = [version: cityIDVersion]
}
}
Но я все еще получаю ту же ошибку.
Почему существует ошибка, требующая замены заполнителя, если она предусмотрена в manifestPlaceholder?