wix/Detox Test执行detox test -c android时找不到.zshrc已配置的ANDROID_SDK_ROOT
解决方案
1. 验证当前终端环境变量生效状态
在执行detox命令的同个终端窗口运行:echo $ANDROID_SDK_ROOT
- 如果输出为空,先执行
source ~/.zshrc,再重新执行上述echo命令。如果输出正常,再次运行detox命令即可。此场景为终端未加载最新的.zshrc配置,后续新开终端会自动加载配置。 - 如果输出正常但detox仍然报错,继续执行后续步骤。
2. 写入全局shell配置文件
~/.zshrc仅会在交互式zsh会话启动时加载,非交互式shell、GUI程序启动的进程不会读取该配置,需要将环境变量写入全局生效的配置文件:
- 执行命令打开.zprofile文件,文件不存在会自动创建:
open ~/.zprofile - 将以下配置写入文件后保存:
export ANDROID_SDK=/Users/chiwan/Library/Android/sdk export PATH=/Users/chiwan/Library/Android/sdk/platform-tools:$PATH export ANDROID_HOME=/Users/chiwan/Library/Android/sdk export ANDROID_SDK_ROOT=/Users/chiwan/Library/Android/sdk export ANDROID_AVD_HOME=/Users/chiwan/.android/avd
- 执行
source ~/.zprofile让配置立即生效,重启终端后再次运行detox命令测试。
3. IDE启动终端场景处理
如果是通过VS Code、Android Studio等IDE内置终端执行命令,完全退出IDE后重新打开,IDE启动时会读取系统全局环境变量,再运行detox命令即可。
4. 快速验证方案
你可以直接在运行detox命令时手动传入环境变量,快速验证问题根因:ANDROID_SDK_ROOT=/Users/chiwan/Library/Android/sdk detox test -c android
如果该命令可正常执行,说明问题确实为环境变量加载异常,按上述步骤配置全局变量即可。
Apple Silicon适配注意事项
Apple Silicon芯片设备需确认Android SDK为arm64适配版本,同时可以升级detox到最新稳定版,修复旧版本对M1设备环境变量读取的兼容问题。
内容的提问来源于stack exchange,提问作者savageDeveloper
相关产品推荐
相关产品推荐

