gpt4 book ai didi

android - Gradle "manifest requires a placeholder substitution"错误但 manifestPlaceholders 提供了一个值

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:37 29 4
gpt4 key购买 nike

我正在尝试在 build.gradle android 扩展的 AndroidManifest.xml 文件中执行替换,但出现此错误:

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

这是 list 文件的 fragment :

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

这是 build.gradle 的 fragment :

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]
}

我还尝试在 buildTypes 中添加 manifestPlaceholders,即

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

但我仍然得到同样的错误。

为什么在 manifestPlaceholders 中提供了一个占位符替换,但会出现错误?

最佳答案

你只需要添加到数组中。你正在更换它。这样做:

manifestPlaceholders = [encoding: "some value", version: cityVersion]

通过为相同的风格/构建类型声明两次 manifestPlaceholders,您将替换前一个。在替换前一个之后,您的构建失败了,因为该属性不再存在。

关于android - Gradle "manifest requires a placeholder substitution"错误但 manifestPlaceholders 提供了一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368124/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com