You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle命令行构建Android应用无法读取全局gradle.properties属性

解决命令行Gradle无法读取~/.gradle/gradle.properties中API密钥的问题

问题原因

你错误地将GRADLE_HOME指向了自定义的用户配置目录(/media/eoinzy/SCRATCH/Android/.gradle),但GRADLE_HOME的正确含义是Gradle的安装目录,而非用户的Gradle配置存储目录。

命令行下的Gradle会受环境变量影响:

  • 错误的GRADLE_HOME会让Gradle优先去该目录下寻找全局配置文件,而你的API密钥存在用户主目录的~/.gradle/gradle.properties中,因此读取失败。
  • Android Studio不受这个环境变量干扰,它默认使用用户主目录的~/.gradle作为配置目录,所以能正常读取密钥。

解决方案

1. 修正环境变量配置

编辑~/.bashrc文件,调整GRADLE_HOME和相关配置:

# 注释或删除原来错误的GRADLE_HOME配置
# export GRADLE_HOME="/media/eoinzy/SCRATCH/Android/.gradle"

# 设置正确的GRADLE_HOME(示例,根据你的实际安装路径修改)
# 可通过`which gradle`找到执行路径,再推导安装目录,比如apt安装的路径可能是/usr/lib/gradle/<版本号>
export GRADLE_HOME="/usr/lib/gradle/7.6"
# 明确指定用户配置目录为~/.gradle(可选,但能消除路径歧义)
export GRADLE_USER_HOME="$HOME/.gradle"
# 更新PATH,确保指向Gradle的bin目录
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$GRADLE_HOME/bin:$PATH"

2. 临时验证(无需修改bashrc)

如果不想立即修改环境变量,可以在执行Gradle命令时临时指定用户配置目录:

gradle assembleDebug -Dorg.gradle.user.home=$HOME/.gradle

验证步骤

  1. 执行source ~/.bashrc刷新环境变量配置
  2. 运行gradle properties,查看输出中的userHome属性是否为/home/你的用户名/.gradle
  3. 在项目的build.gradle中添加测试任务:
    task printApiKey {
        doLast {
            println(project.findProperty("GOOGLE_MAPS_DEV_API_KEY"))
        }
    }
    
  4. 命令行执行gradle printApiKey,确认能正常输出API密钥

内容的提问来源于stack exchange,提问作者eoinzy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 18:40:44