如何在mac中设置ANDROID_SDK_ROOT?

May*_*ani 14 android android-emulator cordova

我正在尝试使用cordova进行应用程序开发,现在我专注于android,我想要运行这个命令cordova emulate android.它运行了一个很长的这个包的列表,并给出了构建成功的消息,但最后它说PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT(还提到,我使用Homebrew)

这是命令行中的脚本.

建立成功

总时间:1.345秒构建以下apk(s):

/users/mayurtolani/myMobileApp/platforms/android/build/outputs/apk/android-debug.apk

ANDROID_HOME =在/ usr /本地/库/ Android的SDK/24.4.1_1

JAVA_HOME = /图书馆/的Java/JavaVirtualMachines/jdk1.8.0_101.jdk /内容/首页

未指定模拟器,默认为Nexus_5_API_24

等待模拟器启动...

PANIC:找不到AVD系统路径.请定义ANDROID_SDK_ROOT

Ren*_*mas 35

vim ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

然后添加以下环境变量:

export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd
Run Code Online (Sandbox Code Playgroud)

Android路径可能会有所不同,如果有相应的更改.最后,刷新终端以应用更改:

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)


Sur*_*raj 10

我面临着类似的问题。我已经下载了Android SDK和Android studio,所以Android Home有两条路径。要运行模拟器并删除未设置 Android sdk root 的错误,请使用以下步骤。

  1. 设置Android Studio下载的android sdk的路径。
  2. 如果您已经在 sdk 文件夹中下载了 SDK,请将它们复制到 Android Studio 生成的文件夹中。/图书馆/安卓/ SDK
  3. 设置 bash 配置文件并添加路径,如下所示。

    export ANDROID_HOME=/Users/{your pc name}/Library/Android/sdk
    export ANDROID_SDK_ROOT=$ANDROID_HOME
    
    Run Code Online (Sandbox Code Playgroud)


Gro*_*ogu 9

2021 年更新

如果您是混合 cordova/ionic/react 应用程序开发人员。这对我有用。所有其他答案都失败了。所以我分享我的答案

1.在你的机器上找到正确的JAVA_HOME路径

/usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)

2.复制与“Java SE 8”关联的路径,通常看起来像这样 /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

3. 创建一个~/.bash_profile~/.zshrc文件。这里我使用触摸,因为我不喜欢终端中的 nano 或 vim。touch 是一个常规的文本编辑器,我用它进行编辑更舒服。使用任何你喜欢的东西。

   touch ~/.bash_profile;
    
   touch ~/.zshrc;
Run Code Online (Sandbox Code Playgroud)

4. 编辑并将其复制/粘贴到您的~/.bash_profile~/.zshrc文件中

export PATH=$PATH:$ANDROID_HOME/platform-tools  
export ANDROID_SDK_ROOT=/Users/user198559/Library/Android/sdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

5. 使用file->save 保存文件,就像保存任何常规文件一样,然后将其写入终端

source ~/.bash_profile;

source ~/.zshrc;
Run Code Online (Sandbox Code Playgroud)

6.通过打开新终端检查路径变量是否设置正确

echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

echo $ANDROID_SDK_ROOT

/Users/user198559/Library/Android/sdk

echo $ANDROID_HOME (deprecated)

(should return empty)
Run Code Online (Sandbox Code Playgroud)


Rod*_*ves 8

由于您使用的是Homebrew,因此可以将其添加到您的路径中:

export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
Run Code Online (Sandbox Code Playgroud)

希望我能帮上忙!:D


Vla*_*nin 6

除了 Grogu 的答案之外,还可以尝试以下路径。它适用于我的M1 mac。确保您已安装 Android Studio。

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)

#SDK exporting
export ANDROID_HOME=$HOME/Library/Android/sdk

#Tools exporting
export PATH=$PATH:$ANDROID_HOME/emulator:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
Run Code Online (Sandbox Code Playgroud)


小智 1

今天我在离子框架上遇到了同样的问题。首先,我在 Android Studio 中的 AVD 管理器(工具->Android)中检查了所有设备都在运行,并且它是一个没有 api 版本的设备。所以我改变并测试了设备。然后我再次运行离子模拟并且工作正常。此外,您可以使用 --target=Device_Name 来运行特定设备。