【发布时间】:2019-10-31 15:08:46
【问题描述】:
我正在尝试运行以下 shell 脚本:
#!/usr/bin/env bash
sdkmanager "emulator" "system-images;android-28;google_apis_playstore;x86_64"
echo no | avdmanager create avd -n "Android" -k "system-images;android-28;google_apis_playstore;x86_64" --device 'Nexus 6P'
$ANDROID_HOME/tools/emulator -avd Android -no-audio -no-boot-anim -no-snapshot -timezone Asia/Phnom_penh
我已将 ANDROID_HOME、ANDROID_AVD_HOME 添加到我的 PATH 中(注意:我正在使用带有 zsh 的 macos)并且我已经获取了 zshrc 文件并重新启动了终端,但不断收到以下错误:
./start_emulator.sh:第 3 行:sdkmanager:找不到命令
./start_emulator.sh:第 4 行:avdmanager:找不到命令
PANIC:未知的 AVD 名称 [ANDROID],使用 -list-avds 查看有效列表。 ANDROID_AVD_HOME 已定义,但 $ANDROID_AVD_HOME/.android/avd 中没有文件 Android.ini(注意: 目录按 $ANDROID_AVD_HOME 的顺序搜索, $ANDROID_SDK_HOME/avd 和 $HOME/.android/avd)
【问题讨论】:
-
你在哪里定义了PATH变量?您是否在特定于 shell 的配置文件中定义?这也可能是因为您已将脚本定义为在
bash中运行,而不是在脚本的第一行中看到的默认zshshell,并且您可能仅在 zsh 配置中配置了 PATH 变量。跨度> -
但是我使用zsh作为我的默认shell(所以我只将它添加到我的zshrc文件中),我还需要将它添加到bashrc文件吗?
-
这里的解决方案是更改您用于运行脚本的 shell。有关更多信息,请参阅本指南了解什么是 shebang:bash.cyberciti.biz/guide/Shebang(在这种情况下,只需更改 @987654325 @ 到
zsh,你很高兴!) -
改成#!/bin/zsh后,错误依然存在。此外,我还收到错误消息:Broken AVD system path.
-
但是正如我在原始评论中提到的,你在哪里定义了 PATH 变量,你是如何定义它的,以及其他环境变量?跨度>
标签: android android-emulator android-sdk-manager avd-manager