mac如何设置ANDROID_SDK_ROOT?
Posted
技术标签:
【中文标题】mac如何设置ANDROID_SDK_ROOT?【英文标题】:How to set ANDROID_SDK_ROOT in mac? 【发布时间】:2017-03-07 23:49:19 【问题描述】:我正在尝试使用 Cordova 进行应用程序开发。现在我专注于android。我正在尝试运行cordova emulate android
。它运行并在一长串软件包之后说“构建成功”,但最后它也说
恐慌:找不到 AVD 系统路径。请定义ANDROID_SDK_ROOT
我使用自制软件。这是命令行上的命令输出:
BUILD SUCCESSFUL
Total time: 1.345 secs
Built the following apk(s):
/users/mayurtolani/myMobileApp/platforms/android/build/outputs/apk/android-debug.apk
ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
No emulator specified, defaulting to Nexus_5_API_24
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
【问题讨论】:
您是否通过自制软件安装了 Android SDK?如果是这样,请尝试here 列出的步骤。 只需安装android studio for mac,它会自动安装所有你需要的东西,而且你的avd系统路径不会有问题。 关于使用 Genymotion 模拟器并在其上安装 Google Apps,请查看 Codepath 上的 this guide。 试试答案***.com/a/39711435/2808137 【参考方案1】:vim ~/.bash_profile
然后添加以下环境变量:
export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd
Android 路径可能不同,如果是这样,请相应地更改它。最后,刷新终端以应用更改:
source ~/.bash_profile
【讨论】:
这恰好对我有用,所以谢谢。但根据***.com/questions/19986214/…,它是 3 个热门地点之一 这个解决方案非常适合我。编辑文件后只需要重启你的mac @UmarAbbas Mac 不是 Windows,您不需要每 5 分钟重新启动一次...如最后所述,只需使用source
命令
@biesior 正确,如果你每次进行一些配置时都重新启动你的 mac,你会很难过。
@RenatoDamas 最好的方法是当软件开发人员......使用他的大脑时;)可以加载很多东西而无需强制最终用户重新启动。否则,如果没有其他选项,我总是尝试的第一件事就是注销和重新启动。在大多数情况下有效。当然,如果是简单的source your-file
,我们就没有这个问题。【参考方案2】:
由于您使用 Homebrew,您可以将其添加到您的路径中:
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
希望我能帮上忙! :D
【讨论】:
【参考方案3】:我遇到了类似的问题。我已经下载了 Android SDK 和 Android Studio,所以 Android Home 有两条路径。要运行模拟器并消除 Android sdk root not set 的错误,请使用以下步骤。
-
设置Android Studio下载的android sdk的路径。
如果您已经在 sdk 文件夹中下载了 SDK,请将它们复制到 Android Studio 生成的文件夹中。 /Library/Android/sdk
设置 bash 配置文件并添加路径,如下所示。
export ANDROID_HOME=/Users/your pc name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
【讨论】:
【参考方案4】:2021 年更新
如果您是混合 cordova/ionic/react 应用程序开发人员。这对我有用。所有其他答案都失败了。所以我正在分享我的答案
1.在你的机器上找到正确的 JAVA_HOME 路径
/usr/libexec/java_home -V
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;
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
5.使用 file->save 保存文件,就像保存任何常规文件一样,之后在终端中写入
source ~/.bash_profile;
source ~/.zshrc;
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)
【讨论】:
【参考方案5】:今天我在使用 ionic 框架时遇到了同样的问题。首先,我在 Android Studio(tools->Android) 中检查了所有设备都运行的 AVD 管理器,并且它是一个没有 api 版本的设备。所以我改变并测试了设备。然后我再次运行 ionic emulate 并且工作正常。此外,您可以使用 --target=Device_Name 来运行特定设备。
【讨论】:
【参考方案6】:ANDROID_HOME
也是必须的,它应该和ANDROID_SDK_ROOT
一样。
仅供参考:更改.bash_profile
后,您需要重新启动Android Studio
。
【讨论】:
【参考方案7】:除了 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
【讨论】:
【参考方案8】:在我的 OSX 终端中,我通过手动添加可以从 AVD 管理器的“AVD 名称”下读取的虚拟设备的名称来避免此错误。
ionic emulate android --target="AVD name"
【讨论】:
以上是关于mac如何设置ANDROID_SDK_ROOT?的主要内容,如果未能解决你的问题,请参考以下文章
中断的AVD系统路径。检查您的ANDROID_SDK_ROOT值
Cannot find AVD system path. Please define ANDROID_SDK_ROOT