当前位置: 首页 > 知识库问答 >
问题:

无法使用BuildConfig访问API密钥

韩琛
2023-03-14

我正在使用secrets gradle插件读取我在本地应用程序中输入的API密钥。财产。

我已将此代码添加到根构建中。格雷德尔

buildscript {
  dependencies {
    classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0"
  }
}

对于应用程序build.gradle

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

android {
  compileSdk 31
...
}

这是我的本地。属性

## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#
sdk.dir=/Users/xxx/Library/Android/sdk
apiKey=YOUR_API_KEY

然后当我试图从任何类/应用程序BuildConfig访问它时。apiKey不在那里。我是不是错过了什么台阶?已经尝试了几个小时,但没有找到任何方法来实现这一点。

共有2个答案

梁马鲁
2023-03-14

我最终在应用程序的build.gradle中读取local.properties中的API值并将其分配给BuildConfig。这是在defaultConfig标签下完成的。

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream()) 
buildConfigField "String", "API_KEY", "\"${properties.getProperty('API_KEY')}\""
洪经义
2023-03-14

>

  • 尝试在defaultConfig中的app/build.gradle中添加此行

    buildConfigField(“字符串”、“apiKey”、API_KEY)

    那就去拿吧

    String apiKey=BuildConfig.api密钥;

  •  类似资料:
    • 我已经能够通过外部web应用程序使用oauth rest api访问azure key vault,但出于某种原因,我无法从密钥中检索机密。经过长时间的研究,我发现用powershell和C#可以做到这一点,但还没有找到用Python解决方案。有人知道python是否有可能,或者有一种方法可以模拟powershell正在做什么吗?以下是检索秘密的代码: 此外,我已经在azure portal中注册

    • 我有一个aws lambda函数,它返回以下响应: 但是我在前端角度应用程序中得到以下误差。 CORS策略阻止从来源“HTTP://127.0.0.1:8080”访问位于“https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/price”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。

    • 我已经创建了一个内部私有api,希望从ec2实例访问它。为此,我创建了一个endpoint,它启用了私有dns。我已经应用了允许任何人访问的资源策略(目前用于测试)。 当我从ec2实例中点击我的api时,它给出了以下给定的错误 启用私人DNS: true 专用dns名称:*。执行api。区域亚马逊。通用域名格式 资源政策: 是的,我在更改资源策略后部署了api。 VPCendpoint的安全组(出

    • 我正在尝试访问图形api来阅读笔记页面,我得到了这个错误。 我已向工作帐户添加了新的应用程序,并向我的应用程序添加了所需的委托权限。权限详细信息如下。 在以前询问的同一问题中找不到答案-找不到HTTP资源?

    • 我正在尝试访问Cordova Contacts API以访问设备联系人详细信息,但无法获取详细信息。我添加了Cordova的参考。js,并在Conf.xml中添加了以下内容。。 我已经在AndroidManifest中授予了权限。xml文件也是。。 仍在使用事件函数OnLoad()运行应用程序时,由于未定义,我收到了此错误。。这是代码。。 我竭尽全力在网上搜索,但徒劳无功。是否有任何特定文件需要添

    • 我无法访问微软图形应用编程接口,我得到以下错误对象- 我已经在Azure注册门户中注册了该应用程序,获得了client_id、tenant和client_secret,并在以下API的帮助下使用它们来生成访问令牌 发布https://log in . Microsoft online . com/{ tenant }/oauth 2/v 2.0/token 我在这个响应中获得的访问令牌用于进一步调