在CodeMagic CI Linux机器执行avdmanager命令提示‘command not found’求助
解决CodeMagic CI中
avdmanager: command not found问题 核心问题分析
你遇到的错误主要源于两个细节问题:
- 命令路径写法错误(缺少斜杠分隔
bin目录与avdmanager执行文件) - 创建AVD的参数格式有误(
-k后错误添加了pixel2,该参数应直接指定系统镜像ID)
分步解决方案
- 提前接受Android SDK许可协议
CI环境中必须先完成许可协议确认,否则后续命令会因交互卡住:
echo "y" | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses
- 安装目标系统镜像
确保你需要的android-28 google_apis x86_64镜像已安装:
$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager "system-images;android-28;google_apis;x86_64"
- 修正命令创建AVD
使用正确的绝对路径和参数执行avdmanager:
$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/avdmanager create avd -n pixel2 -k "system-images;android-28;google_apis;x86_64" --device "Pixel 2"
可选:简化命令调用
如果不想每次都写完整路径,可以把SDK相关的bin目录加入系统PATH:
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH
之后就可以直接用avdmanager create avd ...的形式调用。
内容的提问来源于stack exchange,提问作者Hussam
相关产品推荐
相关产品推荐

