secrets-gradle插件无法与Android清单配合使用

vmdwslir  于 2023-03-18  发布在  Android
关注(0)|答案(2)|浏览(211)

https://github.com/google/secrets-gradle-pluginhttps://developers.google.com/maps/documentation/android-sdk/secrets-gradle-plugin之后,我尝试将API密钥移动到local.properties文件,但是,当我尝试在清单文件中使用该变量时,我收到此错误:

"Attribute meta-data#API_KEY@value at AndroidManifest.xml:20:13-44 requires a placeholder substitution but no value for <KEY_VALUE> is provided."

以下是我的文件:
项目构建级别:

plugins {
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
}

模块构建.gradle:

plugins {
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}

local.properties:

KEY_VALUE= MY_API_KEY

还有我的机器人清单文件

<application>
        <meta-data
            android:name="API_KEY"
            android:value="${KEY_VALUE}"/>
</application>
oknwwptz

oknwwptz1#

尝试重新生成项目并再次运行。如果仍然出现此错误,请在项目中的local.properties文件下方添加新的属性文件local.defaults.properties。在该文件中添加KEY_VALUE=“Your map key”,并在build.gradle(应用级别)中添加

secrets {
    defaultPropertiesFileName 'local.defaults.properties'
}

依赖项阻塞后,现在重新构建并运行您的项目。2希望它会有所帮助。

insrf1ej

insrf1ej2#

所以我终于能够修复这个问题了。看起来这个插件有点问题。为了让它工作,你必须在android插件之后添加它,所以插件在你的应用模块的等级文件中的顺序实际上很重要。

相关问题