secrets-gradle-plugin 不适用于 Android 清单

secrets-gradle-plugin not working with Android manifest

提问人:Pedif 提问时间:3/13/2023 更新时间:5/26/2023 访问量:665

问:

按照 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."

这是我的文件:

项目 build.gradle:

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

模块 build.gradle:

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

local.properties:

KEY_VALUE= MY_API_KEY

还有我的AndroidManifest.xml:

 <application>
        <meta-data
            android:name="API_KEY"
            android:value="${KEY_VALUE}"/>
</application>
android gradle android-gradle-plugin android-manifest 密钥

评论

0赞 hanzolo 9/15/2023
此示例清楚地展示了如何正确配置 Gradle Biuld 文件,以便为 android studio 添加 mapview 配置。

答:

-1赞 Android 3/13/2023 #1

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

secrets {
    defaultPropertiesFileName 'local.defaults.properties'
}

依赖块后, 现在重新生成并运行您的项目。希望它会有所帮助。

1赞 Pedif 3/13/2023 #2

所以我终于能够解决这个问题。插件似乎存在一些错误。要使它正常工作,您必须将其添加到android插件之后,因此在应用程序模块的成绩文件中对插件的排序实际上很重要。