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

设置GOOGLE_APPLICATION_CREDENTIALS后System.getenv返回null求助

解决Windows下Android Studio无法读取GOOGLE_APPLICATION_CREDENTIALS环境变量的问题

我之前在对接Google Cloud服务时也碰到过一模一样的坑,给你几个实用的排查和解决思路:

  • 检查环境变量的作用范围
    Windows的环境变量分「用户变量」和「系统变量」两种,如果你只在用户变量里设置了GOOGLE_APPLICATION_CREDENTIALS,而Android Studio是用管理员身份启动的,大概率读不到这个变量。建议把它移到系统变量中,然后右键选择「以管理员身份运行」Android Studio再测试。

  • 验证AS是否能读取到系统环境变量
    写一段简单的测试代码,打印所有环境变量来确认:

    Map<String, String> allEnv = System.getenv();
    for (Map.Entry<String, String> entry : allEnv.entrySet()) {
        Log.d("ENV_CHECK", entry.getKey() + ": " + entry.getValue());
    }
    

    运行后在Logcat里搜索GOOGLE_APPLICATION_CREDENTIALS,如果还是找不到,说明AS没加载到系统变量,直接用下面的方法绕过系统环境变量。

  • 直接在Android Studio运行配置里设置变量
    不用依赖系统环境变量,直接在AS的运行配置中注入:

    1. 点击顶部菜单栏的「Run」→「Edit Configurations」
    2. 找到你的应用模块,切换到「Environment Variables」标签页
    3. 点击加号按钮,添加变量名GOOGLE_APPLICATION_CREDENTIALS,值填JSON文件的绝对路径(比如C:\gcp-keys\my-service-account.json)
    4. 保存配置后重新运行项目
  • 排查路径中的特殊字符
    如果JSON文件的路径包含空格、中文或其他特殊字符,可能会导致识别异常。建议把文件移到路径简单的目录下,比如C:\gcp-credentials\key.json,再更新对应的配置。

  • 检查Gradle配置是否有覆盖
    查看模块级的build.gradle文件,确认有没有通过systemProperty或environment相关代码覆盖环境变量,如果有的话暂时注释掉再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:44:32