android_sdk_root在哪里?我该如何设置它?

124

我设置了android_sdk_home变量,以便我的应用程序在运行时可以找到.android文件夹。现在我收到一个错误,指出"android_sdk_root未定义"。

我正在一台MacBook Pro上使用Parallels,在其中运行全新安装的Android Studio。感谢您的回复。我已检查位置,并确认它与ANDROID_SDK_HOME环境路径相同。但仍然显示root未定义。我创建了一个ANDROID_SDK_ROOT环境路径到相同的位置,但它仍然未定义。

15个回答

95

以下是我在 macOS 上的操作步骤:

vim ~/.bash_profile  # macOS 10.14 Mojave and older
vim ~/.zshrc         # macOS 10.15 Catalina and newer (using zsh by default)

并添加了以下环境变量:

export ANDROID_HOME=/Users/{{your user}}/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/{{your user}}/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/{{your user}}/.android/avd

如果Android的路径不同,那么请相应地进行更改。最后,刷新终端以应用更改:

Android路径可能不同,如果是这样,请相应地进行更改。最后,刷新终端以应用更改:

(Two versions provided, choose based on the context and tone of the surrounding text.)
source ~/.bash_profile  # macOS 10.14 Mojave and older
source ~/.zshrc         # macOS 10.15 Catalina and newer (using zsh by default)

1
如果您在安装Android Studio之前在其他位置安装了SDK,则可能需要先更新路径以包括上述变量,以确保调用正确的sdkmanagerexport PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH - Neil Monroe
7
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk export ANDROID_AVD_HOME=$HOME/.android/avd``` - Yauhen Yakimovich
我也在做同样的事情,但没有刷新终端,感谢你的建议。 - aliraza12636

51
安装完安卓工作室并尝试运行hello world后,我也收到了同样的错误。我认为你需要在Android Studio中使用SDK Manager先安装一些东西。
打开Android Studio,在工具栏中点击SDK Manager。
现在安装你需要的SDK工具。
- 工具 -> Android SDK Tools - 工具 -> Android SDK Platform-tools - 工具 -> Android SDK Build-tools (最高版本)
对于每个你要针对的Android版本,请点击相应的Android X.X文件夹,并选择(至少):
- SDK平台 - 模拟器的系统映像,例如ARM EABI v7a系统映像
SDK Manager将运行(这可能需要一段时间),并下载和安装各种SDK。
在Android Studio中,File->Project Structure会显示你的Android sdks安装的位置。正如你所看到的,我的是c:\users\Joe\AppData\Local\Android\sdk1。
如果我导航到C:\Users\Joe\AppData\Local\Android\sdk1\sources,你可以看到已安装的各种Android SDK...

69
好的回答。可惜手画箭头很糟糕。 - d512

49

打开终端并运行以下命令:
nano $HOME/.bashrc
合并以下行:

export ANDROID_HOME=$HOME/Android/Sdk
export ANDROID_SDK_ROOT=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

按下 Ctrl+O 保存并按下 Ctrl+X 关闭。

然后运行命令:

source $HOME/.bashrc

echo $ANDROID_SDK_ROOT

21

MAC - 一句话概括

echo "export ANDROID_HOME=~/Library/Android/sdk \
      export ANDROID_SDK_ROOT=~/Library/Android/sdk \
      export ANDROID_AVD_HOME=~/.android/avd" \
>> ~/.bash_profile && source ~/.bash_profile

16

android_sdk_root是一个系统变量,它指向Android SDK工具的根文件夹。如果该变量未设置,则可能会出现错误。

在Android Studio中设置该变量,请按照以下步骤:

  1. 单击“File” -> “project Structure”以打开“Project Structure”
  2. 选择左侧的“SDK Location”
  3. 在“SDK location”中选择Android SDK位置

如果您已安装Android SDK,请参考此答案找到其路径: https://dev59.com/1GUo5IYBdhLWcg3w3ymi#15702396


12

除了以上的答案外,ANDROID_HOME也指向SDK安装目录,但现已被弃用。

  • 如果ANDROID_HOME已定义并包含有效的SDK安装,则其值将代替ANDROID_SDK_ROOT中的值。
  • 如果ANDROID_HOME未定义,则使用ANDROID_SDK_ROOT中的值。
  • 如果ANDROID_HOME已定义但不存在或不包含有效的SDK安装,则使用ANDROID_SDK_ROOT中的值。

10
你需要创建一个名为ANDROID_SDK_ROOT的系统环境变量,它的值应为C:\Users\your_user_name\AppData\Sdk\tools\bin,这对我有用。

1
这应该被标记为答案!谢谢! - Krithika Vittal

7

ANDROID_HOME

已废弃(在Android Studio中),请使用ANDROID_SDK_ROOT代替。

ANDROID_SDK_ROOT

Android SDK软件包的安装目录。

例如:C:\AndroidSDK/usr/local/android-sdk/

ANDROID_NDK_ROOT

Android NDK软件包的安装目录。(不要包含空格)

例如:C:\AndroidNDK/usr/local/android-ndk/

ANDROID_SDK_HOME

与SDK相关的数据/用户文件位置。

例如:C:\Users\<USERNAME>\.android\~/.android/

ANDROID_EMULATOR_HOME

模拟器特定 数据文件的位置。

例如:C:\Users\<USERNAME>\.android\~/.android/

ANDROID_AVD_HOME

AVD特定 数据文件的位置。

例如:C:\Users\<USERNAME>\.android\avd\~/.android/avd/

JDK_HOMEJAVA_HOME

JDK(又称Java SDK)软件包的安装目录。

注意:这用于运行Android Studio(和其他基于Java的应用程序)。实际上,当你运行Android Studio时,它会检查JDK_HOME然后JAVA_HOME环境变量来使用。


4

对于带有zshrc的macOS:

ANDROID_HOME 已经过时,使用 ANDROID_SDK_ROOT 代替

  1. 确保已安装 Android Build Tools。检查它是否存在于您的文件目录中
  2. 获取到 SDK 的路径。通常为 /Users/<USER>/Library/Android/sdk
  3. 将 ANDROID_SDK_ROOT 添加为环境变量路径:echo 'export ANDROID_SDK_ROOT=/Users/<USER>/Library/Android/sdk' >> ~/.zshenv
  4. 使用命令 source ~/.zshrc 应用更改
  5. 检查是否已保存 ...
    • ... 检查特定的环境变量 echo $ANDROID_SDK_ROOT
    • ... 检查系统上所有环境变量的完整列表 env

您可以将此过程应用于在 macOS 系统上安装的每个环境变量。我自己理解这个过程花了一些时间。


1
根据 https://developer.android.com/studio/command-line/variables#envar 上的文档,实际上是相反的。请使用 ANDROID_HOME。环境变量 ANDROID_SDK_HOME 已经被弃用。一些工具如 Android Studio 和 Android Gradle 插件会检查两者是否一致。 - Manfred

4

在Mac上使用code或vim编辑.bash_profile文件

code ~/.bash_profile


export ANDROID_SDK_ROOT=~/Library/Android/sdk

export ANDROID_HOME=~/Library/Android/sdk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接