错误:未设置ANDROID_HOME,并且PATH中未设置“ android”命令。您必须至少满足以下条件之一。


240

我正在尝试安装PhoneGap,但出现以下错误:

错误:未设置ANDROID_HOME,并且PATH中未包含“ android”命令。您必须至少满足以下条件之一。

错误(屏幕截图)

在此处输入图片说明

如何确保正确设置Android以与Cordova配合使用?


1
现在使用ANDROID_SDK_ROOT贬值ANDROID_HOME。有关更多信息,请遵循此stackoverflow.com/a/55508862/6190043
Saurabh Bhandari

Answers:


369

对于Windows:

设置ANDROID_HOME = C:\ 安装位置 \ android-sdk

设置PATH =%PATH%;%ANDROID_HOME%\ tools;%ANDROID_HOME%\ platform-tools

取自本安装指南


33
是正确的。但是,以防万一,对于像我这样的人来说不是100%清晰,请在c:windows \ system32 \ projectname>目录的cmd窗口中,为android_home输入上述set命令。旁注,当我使用Android Studio时,默认情况下,我的SDK已安装到以下位置:C:\ Users \ <用户名> \ AppData \ Local \ Android \ android-sdk简而言之,在您的cordova目录中,键入SET ANDROID_HOME = C:\ Users \ <用户名> \ AppData \ Local \ Android \ android-sdk-按Enter,然后重新运行cordova平台并添加android,将创建包和项目。
natur3 2014年

1
只需为我设置ANDROID_HOME即可,另外还必须确保在尝试向Android项目添加平台时安装了Android 19.0。
阿披耶特(Abhijeet)

22
要永久设置ANDROID_HOME,请右键单击“我的电脑”>“属性”>“高级系统设置”>“环境变量”>1。添加系统变量名称=“ ANDROID_HOME”,值=“ E:\ Users \ user \ AppData \ Local \ Android \ sdk”(输入android sdk path here)2.在系统变量上方,您可以看到PATH,编辑PATH“%PATH%;%ANDROID_HOME%\ tools;%ANDROID_HOME%\ platform-tools”保存
Dibish 2015年

2
设置ANT_HOME之后,您可能需要获取新的CMD
Ruwantha'Sample 2013年

1
@Dibish这对我有用。如果从GUI添加,请确保将环境变量而不是用户变量添加到系统变量。
peteb '16

82

对于Mac OS X:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

对我来说,我的<安装位置>是〜/ adt-bundle-mac-x86_64 / sdk,因此第一个命令是export ANDROID_HOME=~/adt-bundle-mac-x86_64/sdk
Svavar

1
对我来说:export PATH = $ {PATH}:$ ANDROID_HOME / tools:$ ANDROID_HOME / tools /
AGDM 2015年

如上所示,您是否需要在“ PATH”周围加上括号?我很高兴设置混合环境。但是我是Mac新手吗?我在Windows中没有问题:| 但我仍然喜欢我的新Mac!
rekordboy

45

我有MAC OS X Yosemite,Android Studio 1.0.1,JDK 1.8和Cordova 4.1.2

当我尝试添加android项目时:

cordova platforms add android

我收到了以下消息: 未设置ANDROID_HOME,并且PATH中没有“ android”命令

基于cforcloud的答案... “错误:使用cordovahttp://developer.android.com/sdk/installing/index.html?pkg=studio 的命令“ android”失败”, 我使用了以下命令:

export ANDROID_HOME="/Users/<user_name>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<user_name>/Library/Android/sdk/tools/"
export ANDROID_PLATFORM_TOOLS="/Users/<user_name>/Library/Android/sdk/platform-tools/"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS
echo $PATH

当我尝试创建android项目时,收到以下消息:

Creating android project...
/Users/lg/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: Please install Android target "android-19".

我运行了Android SDK Manager,并安装了Android 4.4.2(API 19)(除了Glass Development Kit Preview之外的所有东西)。它为我工作。

===

这是我的.bash_profile文件的内容。

export PATH=$PATH:/usr/local/bin
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
launchctl setenv STUDIO_JDK /library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
export ANDROID_HOME="/Users/<UserName>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<UserName>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<UserName>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS

要使用Terminal编辑.bash_profile,我使用nano。很容易理解。

cd
nano .bash_profile

希望对您有所帮助。


谢谢,这也为我工作!但是,每次打开新终端时,都必须设置PATH,有没有办法永久设置PATH?
NBoymanns 2015年

在.bash_profile文件中包括PATH。我在上一条评论中添加了说明。
2015年

这非常清楚,对我有用,比其他所有答案都好!我不知道在系统上哪里可以找到SDK。
WillJones

@lgm,是否必须包含ANDROID_TOOLSADROID_PLATFORM_TOOLS
Dev Yego

36

对于Windows:

右键单击我的电脑->属性->高级系统设置->环境变量将系统变量上的路径编辑到; \ yourSdkHome \ tools; \ yourSdkHome \ platform-tools。

然后关闭您的cmd提示并重新打开。

而已。


1
我们如何更新Cordova的文档?(而不是在安装和stackoverflow之间跳转)
Ran Davidovitz 2014年

请注意,有时你的$ PATH变量里的相当混乱,并且不能长于256个符号,你还是你应该使用助手瓦尔
Medet Tleukabiluly

对不起,我不明白。我该如何使用辅助变量?
哈希

不为我工作?我的SDK位置在E驱动器中..是否应在C驱动器中?
Kartiikeya

完美,我需要重新启动计算机才能正常工作,但是确实可以。
mhcarneiro '16

33

在Linux上,将其添加到您的.bashrc,.profile或适用于您的Shell的文件的末尾:

export ANDROID_HOME=/home/youruser/whatever/adt-bundle-linux-x86_64-20140702/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

请注意,这些环境变量将可用于新创建的外壳,而不是已打开的外壳。


这对我有用。您的声明“请注意,这些环境变量将可用于新创建的外壳,而不是已打开的外壳。” 是什么让我意识到我必须重做。
jessiPP 2015年

重新启动时这些设置不会丢失吗?我的意思是仅以这种方式导出它们,而无需实际触摸.bashrc文件。
Dev Yego

如上所述: 将其添加到.bashrc,.profile或相应文件的末尾
Quique

24

在Windows上使用Android Studio时,系统变量设置有所更改。

您仍然必须添加系统变量ANDROID_HOME,但指向通常安装在中的android SDK所在的目录C:\Users\YOUR_USERNAME\AppData\Local\Android\android-studio\sdk

您还需要将以下内容添加到Path系统变量中:

;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

摘自:https : //github.com/simnova/webdevdocs/wiki/Installing-PhoneGap-and-Android-Studio-on-Windows

SDK路径也位于 C:\Users\USER\AppData\Local\Android\sdk


您可能需要关闭并重新打开AS几次才能生效...由于某种原因,它在更改变量几次并重新启动AS之后开始工作,然后返回此解决方案,它应该可以工作。放弃这一点,甚至对于Android Studio v2
也要放弃

9

这就是我刚刚尝试使其起作用的方法。我是在:

os x Yosemite版本10.10.2
Cordova版本4.2.0
android studio 1.0.1
Java SE开发套件7

设定路径:

# on ~/.zshrc file (open a text editor)
export ANDROID_HOME="/Users/<user>/Library/Android/sdk/"
export ANDROID_TOOLS="/Users/<user>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<user>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS

重新打开终端

从android SDK Manager安装“ android-19”

$ android
# pick "SDK Platform Android 4.4.2, API 19"

然后转到基于Cordova的项目目录

$ ionic platform add android

我刚刚在文件中插入了变量:sudo nano ~/.bash_profile
Caio Kawasaki

6
Android path set in linux:

$export ANDROID_HOME=/usr/lib/android-sdk-linux
$export PATH=$PATH:$ANDROID_HOME/tools
$export PATH=$PATH:$ANDROID_HOME/platforms-tools

than

$cordova run android

我面临着同样的问题。我的问题是我没有以root用户身份运行以上命令。我以root身份执行,一切正常。
Bhupinder

5

ANDROID_HOME 现在已弃用,而不是使用 ANDROID_HOME useANDROID_SDK_ROOT

根据Google android文档-

ANDROID_SDK_ROOT设置SDK安装目录的路径。设置后,该值通常不会更改,并且可以由同一台计算机上的多个用户共享。也指向SDK安装目录的ANDROID_HOME弃用

如果继续使用它,则适用以下规则:

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

有关详细信息,请访问此Android文档链接


4

在Linux中,

编辑.bashrc文件并添加ANDROID_HOMEPATH变量,

export ANDROID_HOME=/usr/local/android-sdk-linux/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

保存.bashrc文件后,运行

source ~/.bashrc

然后输入

android 在终端

如果它将运行ANDROID_HOMEPATH设置,

如果您收到此消息,

bash: /src/android-sdk/tools/android: Permission denied

然后跑

sudo chmod a+x /usr/local/android-sdk-linux/tools/android

否则,您将收到相同的错误消息

Error: Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.

注意:请使用您的android sdk安装路径,而不是/ usr / local / android-sdk-linux /


4

对于Windows,我只需要添加一个指向SDK文件夹的env变量即可。做完了!(接受的答案对我不起作用)

在此处输入图片说明


3

我必须关闭并重新打开Windows控制台(或打开一个新控制台),然后打开SDK管理器(运行android),此后必须完成大量更新和安装。


3

对于在Windows上使用Ionic Framework且未在其PC上安装andorid studio的用户,您必须下载Android Studio或在列表中下载SDK Manager

如果选择SDK Manager选项,则必须设置环境变量的路径:

  1. 变量名称:ANDROID_HOME,变量值:安装android SDK的路径,在我的情况下为C:\ Android \ android-sdk

  2. 您必须通过添加以下代码将变量添加到Path变量系统: ;%ANDROID_HOME%\ platform-tools;%ANDROID_HOME%\ tools;

  3. 然后,如果收到“ JDK错误”,只需从Oracle网站下载它,然后创建一个系统变量,例如Android SDK: 变量名:JAVA_HOME,变量值:安装JDK的路径,在我的情况下为C:\程序文件\ Java \ jdk1.8.0_144。然后通过添加;%JAVA_HOME%\ bin将其添加到Path变量系统中。

  4. 然后,如果您收到“ Gradle错误”,只需在gradle的官方网站上获得安装步骤即可。

  5. 最后,您可以继续创建离子应用程序的apk。

注意:您必须多次重新打开cmd窗口,或在进行这些更改后重新启动计算机。希望这项工作对您有用。


3

仅需一项更改即可解决此问题:

Start -> Control Panel -> System -> Advanced(tab) -> Environment Variables -> System Variables

设置ANDROID_HOMEC:\Program Files (x86)\Android\android-sdk


2

在Mac上使用Android Studio,在终端上运行此程序:

export ANDROID_HOME=/Applications/Android\ Studio.app/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

然后,当您键入

android

在您的终端,它将运行一些


当我键入android时,我什么也没得到。我在下找不到sdk目录Android Studio.app
huggie 2014年

在我的情况下,Android Studio设置(文件->项目结构-> SDK)指向ADT包(/ Applications / adt-bundle-mac-x86_64-20130729 /)...
huggie 2014年

1

大多数情况是缺少andriod SDK。为此问题和“ JAVA_HOME解决方案 ”错误对我有用。

要构建和运行应用,您需要为要定位的每个平台安装SDK。另外,如果您使用浏览器进行开发,则可以使用不需要任何平台SDK的浏览器平台。

要检查您是否满足构建平台的要求:

$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed

Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed

1

顺便说一句,另一种可能性是您的Cordova android平台版本

错误:找不到Android SDK。确保已安装。如果它不在默认位置,请设置ANDROID_HOME环境变量。

然后:

cordova platform update android --save

1

1:转到系统属性
2:单击更改设置
3:单击高级选项卡
4:单击环境变量...按钮
5:在系统变量区域中单击新建按钮
6:在变量名称字段中设置ANDROID_HOME
7:设置C:\ Program变量值字段中的文件(x86)\ Android \ android-sdk
9:单击确定按钮
10:双击列表中的路径变量
11:单击新按钮
12:过去的C:\ Program Files(x86)\ Android \ android- sdk \ platform-tools中的
字段13:再次单击新按钮
14:过去的C:\ Program Files(x86)\ Android \ android-sdk \ tools中的字段
15:按Enter 3次。
你很好。


1

您只需要在type中flutter_console.bat键入命令flutter config --android-sdk <path-to-your-android-sdk-path>


0

如果Linux用户仍然有同样的错误,可能是他们使用“命令”添加Android平台..这一个快速的解决方案在这里,或者你使用sudo安装科尔多瓦,也有这个问题的解决方案在这里

希望对您有所帮助!


0

我也遇到了同样的问题,对此我找到了解决方案。

我做了以下步骤

  1. 开放系统属性
  2. 环境变量
  3. 创建一个 新的系统变量
  4. 名称: ANDROID_HOME
  5. 值:复制您的SDK路径(例如:我的SDK路径E:\ SoftWares \ Android-SDK

关闭您当前的cmd,然后重新启动运行flutter doctor

这应该在Windows上工作


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.