【问题标题】:Error in build config in Android StudioAndroid Studio 中的构建配置错误
【发布时间】:2018-01-01 05:38:32
【问题描述】:

我正在 Android Studio 中运行一个应用程序。以下是代码:

strings.xml

<resources>
  <string name="google_nearby_api_key">XXXXXXXXXXXXXXXXXXXXXXXX</string>
</resources>

清单文件

<application
    <meta-data
        android:name="com.google.android.nearby.messages.API_KEY"
        android:value="@string/google_nearby_api_key"/>
</application>

build.gradle

def filesAuthorityValue = applicationId + ".files"
manifestPlaceholders = [filesAuthority: filesAuthorityValue]
buildConfigField "String", "FILES_AUTORITY", "\"${filesAuthorityValue}\""
resValue "string", "google_nearby_api_key", getLocalProperties().getProperty("google_nearby_api_key")

我得到错误:

Error:(35, 0) Build Config field cannot have a null parameter

有人可以帮忙吗?

【问题讨论】:

  • 尝试点击同步,保存右侧。在 gradle 同步之后执行此操作。或在 Android Studio 中:构建 -> 清理项目
  • 先生,我点击了清洁项目。它没有反应
  • getLocalProperties() 指的是哪个属性文件?

标签: android android-studio gradle build.gradle


【解决方案1】:

我检查了我的机器,这对我有用

local.properties

GOOGLE_NEARBY_API_KEY="XXXXXXXXXX"

build.gradle

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
resValue "string", "google_nearby_api_key", properties.getProperty('GOOGLE_NEARBY_API_KEY')

您将在以下位置找到包含您的字符串的生成文件:

app/build/generated/res/resValues/{build-type}/values/generated.xml

现在您可以在您的应用中将字符串用作@string/google_nearby_api_key

另外,当我从local.properties 中删除密钥时,我得到了同样的错误:

Error:(17, 1) A problem occurred evaluating project ':app'.
> Build Config field cannot have a null parameter

所以,您的local.properties 中可能没有密钥。

而且您似乎还手动在您的strings.xml 资源文件中添加了字符串,如果您想隐藏您的 API 密钥,您不应该这样做。通过您的gradle 构建(上述方法)注入它。

【讨论】:

    猜你喜欢
    • 2017-10-06
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2016-12-31
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多