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

如何在Android Studio中添加可在代码中使用的环境变量?

在Android Studio中设置可通过System.getenv()读取的环境变量

核心说明

Android应用进程与系统环境相互隔离,System.getenv()读取的是应用进程自身的环境变量,无法直接通过系统层面设置让应用获取到值,得通过构建脚本或运行配置注入。

具体实现方法

方法1:Gradle构建脚本注入(推荐)

在模块级build.gradle(或build.gradle.kts)中,为对应构建类型添加配置:

android {
    buildTypes {
        debug {
            // 生成BuildConfig常量(类型安全,更推荐直接使用)
            buildConfigField "String", "AWS_ACCESS_KEY_ID", "\"你的AccessKeyId值\""
        }
        release {
            // 正式环境同理,建议用安全方式管理敏感信息
            buildConfigField "String", "AWS_ACCESS_KEY_ID", "\"你的正式环境AccessKeyId\""
        }
    }
}

同步Gradle后,若一定要用System.getenv()读取,需在自定义Application类的onCreate()中手动注入:

@Override
public void onCreate() {
    super.onCreate();
    // 将BuildConfig中的值写入进程环境变量
    System.getenv().put("AWS_ACCESS_KEY_ID", BuildConfig.AWS_ACCESS_KEY_ID);
}

方法2:用gradle.properties管理敏感信息(更安全)

  1. 在项目根目录的gradle.properties中添加:
awsAccessKeyId=你的AccessKeyId值
  1. 模块级build.gradle中引用该变量:
android {
    buildTypes {
        debug {
            buildConfigField "String", "AWS_ACCESS_KEY_ID", "\"${awsAccessKeyId}\""
        }
    }
}

注意:把gradle.properties加入.gitignore,避免敏感信息提交到版本仓库。

方法3:运行配置临时设置(仅调试用)

  1. 打开Android Studio的Run/Debug Configurations
  2. 选中你的应用配置,切换到Environment Variables标签
  3. 添加键值对AWS_ACCESS_KEY_ID=你的AccessKeyId值
  4. 启动应用后,System.getenv("AWS_ACCESS_KEY_ID")即可读取到值,但该设置仅对当前运行配置生效,发布版本不适用。

重要提醒

  • 敏感信息(如AWS密钥)不要硬编码到代码或构建脚本中,优先用gradle.properties或专业密钥管理方案
  • 正式发布版本建议使用AWS Cognito等身份认证方式,避免直接暴露Access Key

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:12:37