Android项目中build.gradle无法读取gradle.properties属性问题
解决gradle.properties属性在buildConfigField中无法识别的问题
问题原因
你当前的写法存在两个关键问题:
- gradle.properties中定义的属性在模块build.gradle中需要通过
${}插值引用,直接写ACCESS_KEY会被Gradle判定为未定义变量 - buildConfigField的第三个参数要求是带引号的字符串常量,直接传属性值会触发语法错误
修复步骤
修正gradle.properties配置
建议移除值的引号(Gradle会自动处理字符串类型):ACCESS_KEY=access_key若必须保留引号,后续引用时需额外处理,但不推荐这种写法。
修正build.gradle中的buildConfigField调用
在模块的build.gradle(通常是app/build.gradle)的defaultConfig代码块中,改为如下写法:defaultConfig { // 其他配置项... buildConfigField("String", "ACCESS_KEY", "\"${ACCESS_KEY}\"") }说明:
${ACCESS_KEY}:用于引用gradle.properties中定义的属性值- 外层的
\":转义双引号,确保生成的BuildConfig.java中值为带引号的字符串(最终会生成public static final String ACCESS_KEY = "access_key";)
同步并重建项目
点击Android Studio右上角的Sync Project with Gradle Files按钮,完成同步后执行Build -> Rebuild Project。
如果问题仍存在,可尝试:
- 确认gradle.properties文件放置在项目根目录(而非模块目录)
- 清理Gradle缓存:执行
File -> Invalidate Caches...,选择Invalidate and Restart
内容的提问来源于stack exchange,提问作者Ali Hejazi
相关产品推荐
相关产品推荐

