在Android系统中设置环境变量涉及多个层面,包括ADB调试环境、开发环境配置以及系统级变量的修改。以下是具体方法和扩展知识:
1. ADB和开发者工具环境变量(Windows/macOS/Linux)
作用:方便在终端直接调用ADB、Fastboot等工具。
步骤:
1. 找到Android SDK的安装路径(通常在用户目录下的`Android/sdk`或自定义路径)。
2. Windows:
- 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”。
- 在`Path`变量中添加SDK的`platform-tools`和`tools`目录(例如:`C:\Android\sdk\platform-tools`)。
3. macOS/Linux:
- 编辑`~/.bashrc`或`~/.zshrc`文件,添加以下内容:
bash
export ANDROID_HOME=/path/to/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools
- 运行`source ~/.bashrc`生效。
2. Android应用开发中的环境变量(如Gradle)
作用:在构建应用时传递自定义参数(如API密钥)。
方法:
- 全局变量:在`gradle.properties`中定义(对所有项目生效):
properties
MY_API_KEY=your_key_here
- 本地变量:在项目的`build.gradle`中通过`System.getenv("变量名")`读取系统环境变量。
3. 系统级环境变量(需Root权限)
修改`/system/etc/environment`:
1. 通过ADB连接到设备并获取Root权限:
bash
adb shell
su
2. 挂载系统分区为可读写:
bash
mount -o remount,rw /system
3. 编辑`/system/etc/environment`文件,按格式添加变量(如`NAME=value`),重启生效。
注意事项:
- 修改系统文件可能导致设备不稳定,建议备份。
- 部分ROM(如LineageOS)可能不支持此文件。
4. Shell会话临时变量
ADB或终端中临时设置:
bash
export VAR_NAME=value # 仅在当前会话有效
通过ADB传递变量给应用:
bash
adb shell am start -n com.package/.Activity --es env_key "env_value"
5. 扩展知识
`ANDROID_ROOT`变量:默认指向系统目录(如`/system`),部分原生工具链依赖此变量。
安全建议:敏感变量(如API密钥)不应硬编码在代码中,推荐使用`gradle.properties`或密钥管理服务。
设备厂商差异:某些厂商(如华为)可能限制系统环境修改,需解BL锁或使用厂商专用工具。
6. 调试技巧
检查变量是否生效:
bash
adb shell echo $PATH # 查看PATH变量
adb shell env # 列出所有环境变量
Android Studio中的配置:在“Run/Debug Configurations”中可添加环境变量,仅影响调试会话。
若需持久化系统级变量,建议通过修改初始化脚本(如`init.rc`),但需重新编译系统镜像。普通用户更推荐使用应用层或ADB方案。