如何设置ANDROID_SDK_HOME环境变量?

69

我在Windows 7 x64上使用Eclipse工具进行开发,并且在运行安卓开发的ADT Bundle时遇到了错误:

Error: Error parsing the AVDs
无法获取安卓SDK home目录。
请确保已设置环境变量ANDROID_SDK_HOME。

我知道问题出在哪里。是因为它链接到了错误的目录C:users:????

如何将这个环境变量android_sdk_home设置为正确的目录呢?


请前往此线程:https://dev59.com/5HE85IYBdhLWcg3wx2f2?rq=1。 - M D
等一下,我会给你所有的步骤。 - M D
@OlegArsyonov - 我不知道Android使用ANDROID_SDK_HOME。我知道它使用ANDROID_HOMEANDROID_SDK_ROOTANDROID_NDK_ROOT,而且后两者应该被设置,因为工具在内部使用它们。你从哪里得到了ANDROID_SDK_HOME?这是关于ANDROID_SDK_ROOTANDROID_NDK_ROOT的参考资料:Recommended NDK Directory?。名叫Digit的家伙在NDK团队工作。 - jww
另请参见SDK Manager.exe无法工作 - jww
13个回答

137

ANDROID_HOME

Android SDK软件包的安装目录。

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

ANDROID_USER_HOME

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

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

ANDROID_SDK_ROOT

已弃用(在 Android Studio 中),请改用 ANDROID_HOME

ANDROID_NDK_ROOT

Android NDK软件包的安装目录。(不带任何空格)

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

ANDROID_SDK_HOME

已弃用(在 Android Studio 4.2 中),请改用 ANDROID_PREFS_ROOT

ANDROID_PREFS_ROOT

已弃用(在 Android Studio 中),请改用通过 ANDROID_USER_HOME 路径到子目录 .android

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

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 环境变量并使用它们。


10
我曾经在设置环境变量ANDROID_SDK_HOME后,尝试让Android Studio遵循该设置来创建AVD,但并未成功。它仍会将AVD创建在~/.android/avd目录下。你知道这个问题可能是什么原因吗?最终我使用符号链接将~/.android连接到我想要的目录解决了这个问题。 - Joshua Pinter
1
@JoshuaPinter 我也遇到了同样的问题,不知何故Android Studio没有遵守任何这些环境变量,最后使用符号链接解决了问题。 - binary
3
对我有用!在这里阅读也很好:https://developer.android.com/studio/command-line/variables#android_sdk_root - Vigs
1
楼主应该将此设为最佳答案。 - George
1
在Windows系统中,请查看AppData\Local\Android文件夹。 - 9 Guy
显示剩余2条评论

28
如果你遇到相同的错误,请按以下步骤操作:
  1. 打开控制面板
  2. 然后进入系统
  3. 再进入更改用户环境变量
  4. 然后点击创建一个新的环境变量
  5. 创建一个名为ANDROID_SDK_HOME的新变量
  6. 将其值设置为您的Android目录,如C:/users/<username>/.android

3
如果这是答案,那么你应该接受自己的答案。这就是 Stack Overflow 的工作方式。请参阅 How does accepting an answer work? - jww
4
这看起来不太对:C:/users/<username>/.android。那看起来像是 ANDROID_HOME 目录,而不是 SDK 目录。SDK 目录应该是 ANDROID_SDK_ROOT。以下是关于 ANDROID_SDK_ROOTANDROID_NDK_ROOT 的参考资料: Recommended NDK Directory?。这位名叫 Digit 的家伙在 NDK 团队工作。 - jww
1
@jww - 你看了你链接的帖子吗?它甚至没有提到ANDROID_HOME。它只将3个变量称为“标准”。此外,它指定在Linux上,ANDROID_SDK_HOME等于~/.android/,这对应于Windows上的%USERPROFILE%\.android。事实是,您不需要指定.android子文件夹。在Windows上,您只需将ANDROID_SDK_HOME设置为其所在的任何文件夹即可。因此,在OP的情况下,它将被设置为C:\Users\<username>%UserProfile%,对于其他人,则可以设置为任何您喜欢的位置。唯一的注意事项是(父)文件夹必须存在。 - Frank
@Frank - 是的,我看到了(这是我向NDK团队提出的问题)。 ANDROID_SDK_ROOT 是我知道的Android用来确定SDK位置的变量之一。谁知道 ANDROID_SDK_HOME 是什么。Eclipse 没有文档,而且我还不明白为什么需要另一个变量。我最好的猜测是你应该将 ANDROID_SDK_HOME 设置为 ANDROID_SDK_ROOT - jww

20
将您的SDK路径复制并分配给环境变量ANDROID_SDK_ROOT
参见下图:

图片描述


9
这是我的解决方案:
  1. 打开控制面板
  2. 点击系统
  3. 然后进入更改环境变量
  4. 接着点击创建新的环境变量
  5. 创建一个名为ANDROID_HOME的新变量 路径为C:\Android\sdk

@Kartiikeya,不限于任何地方。但是给定的路径不应包含空格。 - Yousha Aleayoub
如果路径正确,ANDROID_HOME 将正常工作。如果路径不正确或无法找到 ANDROID_HOME,则会查找 ANDROID_SDK_HOME。这就是为什么如果您已经正确设置其中任何一个,它都可以正常工作的原因。 - Snappy Cracker
1
ANDROID_HOME已被弃用,请设置ANDROID_SDK_ROOT - Yousha Aleayoub
@YoushaAleayoub ANDROID_SDK_ROOT 还是 ANDROID_SDK_HOME - Earlee

8

打开ADT,点击"Preferences",然后修改SDK目录为你的SDK所在目录,这可能会有帮助。可以参考下图:

enter image description here


1
我需要设置ANDROID_SDK_HOME变量。SDK目录已经很好地设置了.....我怎样设置ANDROID_SDK_HOME变量?那个变量是什么?它在哪里? - OlegArsyonov
请通过本站的界面上传图片(它们将托管在imgur上)。 - Camilo Martin

6

只需设置 Android SDK 目录的路径

flutter config --android-sdk c:\android\sdk


5

安装Android SDK也是必要的。 Android SDK为您提供构建,测试和调试Android应用程序所需的API库和开发人员工具。

Cordova需要设置ANDROID_HOME环境变量。这应该指向[ANDROID_SDK_DIR] \ android-sdk目录(例如c:\ android \ android-sdk)。

接下来,更新您的PATH以包括该文件夹中的tools /和platform-tools /文件夹。因此,使用ANDROID_HOME,您将添加%ANDROID_HOME%\tools%ANDROID_HOME%\platform-tools

参考:http://ionicframework.com/docs/v1/guide/installation.html


5
虽然上面的答案基本都是正确的,但它们都有一个小问题.. 按照以下步骤操作即可:
  1. 右键点击"此电脑" -> "属性"
  2. 在左侧窗格中选择“高级系统设置”
  3. 在新窗口中选择-> "高级" 选项卡
  4. 点击“环境变量”按钮
  5. 在顶部第一个区域单击“新建”按钮

设置变量名称 - > ANDROID_HOME

设置变量值 - > Android SDK的自定义位置

  1. 现在单击新创建的变量名称,在下面的框中选择“路径”,然后单击“编辑”按钮
  2. 现在单击“新建”,并粘贴“platform-tools”的位置
  3. 再次单击“新建”,并粘贴“tools”的位置 你可以在Android SDK文件夹中找到上述平台工具和工具的位置。
  4. 最重要的事情是...

    通过单击“确定”保存所有更改 如果您正在使用终端(cmd),请关闭并重新打开它


4

从命令提示符中:

set ANDROID_SDK_HOME=C:\[无论你的SDK文件夹在哪里]

就可以解决问题了。


位置是否应该在C盘? - Kartiikeya
请先仔细阅读再评论。在上面的几条评论中,有人告诉您如何找到特定SDK位置的方法。设置ANDROID_SDK_HOME=C:[您的sdk文件夹所在位置],这在上面已经解释过了,请查看上方的大图。 - Snappy Cracker

4

AVD无法找到SDK根目录,可能是因为它们位于不同的目录中。请按照下面截图所示设置您的环境变量:

enter image description here


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