ANDROID_HOME未设置,“android”命令不在PATH Phonegap中

我已经安装了Android束,我已经在.bashrc文件中configuration了一切,甚至当我说android在命令行..我正在android的经理..但是当我说离子平台添加android我总是得到错误为“错误:ANDROID_HOME没有设置,“android”命令不在你的PATH中,你必须至less满足这些条件之一。 。 我尝试了很多方法,但问题不固定。

我的平台:

Ubuntu 14.04 64位

.bashrc文件:

export HOME="/home/system" export ANDROID_HOME="$HOME/adt-bundle-linux-x86_64-20140702/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/adt-bundle-linux-x86_64-20140702/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" export ANT_HOME="/usr/share/ant" export PATH="$ANT_HOME/bin:$PATH" export ANDROID_HOME="/home/system/adt-bundle-linux-x86_64-20140702/sdk/tools" 

执行时出错:

  system@system-H81M-S1:/usr/share/nginx/www/myApp# ionic platform add android npm http GET https://registry.npmjs.org/cordova-android/3.6.3 npm http 200 https://registry.npmjs.org/cordova-android/3.6.3 npm http GET https://registry.npmjs.org/cordova-android/-/cordova-android-3.6.3.tgz npm http 200 https://registry.npmjs.org/cordova-android/-/cordova-android-3.6.3.tgz Creating android project... /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:126 throw e; ^ Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions. at /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/lib/check_reqs.js:158:19 at _fulfilled (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:798:54) at self.promiseDispatch.done (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:827:30) at Promise.promise.promiseDispatch (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:760:13) at /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:821:14 at flush (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:108:17) at process._tickCallback (node.js:419:13) at Function.Module.runMain (module.js:499:11) at startup (node.js:119:16) at node.js:906:3 Error: /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/ create: Command failed with exit code 8 at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/ cordova-lib/src/cordova/superspawn.js:135:23) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:756:16) at Process.ChildProcess._handle.onexit (child_process.js:823:5) 

我可以知道如何解决这个错误

我面临同样的问题,解决了。

我认为这是最新的cordova与最新的Android的兼容性的问题。 以及你有问题的Android主path。

在.bashrc文件中

 export HOME="/home/indranil" export ANDROID_HOME="$HOME/software/adt-bundle-linux-x86_64-20140702/sdk" export PATH="$HOME/software/adt-bundle-linux-x86_64-20140702/sdk/tools:$ANDROID_HOME/platform_tools:$PATH" 

如果您使用的是旧版本,请尝试下载最新的android SDK。 并从您的Androidpipe理器下载Android 4.4.2(API 19)。

您可以使用最新的cordova(4.0.0),但如果问题仍然存在,请使用cordova(3.5.0-0.2.7),但是如果要升级或降级cordova,请使用以下命令删除现有的cordova: –

 npm uninstall -g cordova (If linux use sudo npm uninstall -g cordova) 

如果你使用的是linux,不要使用sudo

commad在安装cordoava时,如果出现任何错误,请运行以下命令

 sudo chown -R `whoami` ~/.npm sudo chown -R `whoami` /usr/local/lib/node_modules sudo chown -R `whoami` /usr/local 

然后安装没有sudo的cordova

 npm install -g cordova@3.5.0-0.2.7 

在创build离子应用程序和添加android作为平台的时候不要使用sudo命令。 Cordova在添加平台时在主文件夹中创build一个.cordova目录。 在创build新的离子应用程序之前删除该目录。

下载Android(4.4.2)后,使用以下命令创build一个android虚拟设备:

 android avd 

我一直在努力(Ubuntu 14.04),我记得接受了让cordova build命令工作对我来说太困难了:-)。 我确信我的PATH是正确的(尝试根和用户等),并尝试了我能find的每个解决scheme。

Stoicuta Alexandru的评论在此页面为您解决。 我引用:

如果没有设置ANDROID_HOME,cordova会在home / android-sdk中search它

所以只要把我的android SDK在家庭文件夹和(重要)命名它的android-sdk做到了。

希望节省一些人一些时间…

我有同样的问题,但我发现了另一种方法,即使用Phonegap开发应用程序 。 你可以将它安装到模拟器并使用它。

我尝试使用etc / android-sdk-linux /在设置ANDROID_HOME后调用etc / platforms / android / cordova / run –emulator,并且工作正常。 唯一的问题是,我的系统是一个32位的操作系统/个人电脑,然后我必须设置ANDROID_EMULATOR_FORCE_32BIT =“真”出口命令。

在此操作之前,当然,我通过命令“android avd”设置模拟器,

在我的情况下,我首先创build了离子应用程序,并使用SUDO运行其他离子命令; 这就是为什么它不工作,因为sudo使用rootconfiguration文件。

这是我如何修复:

  1. 删除/home/user1/.cordova(用你的用户名replaceuser1)我用“sudo rm”命令删除文件夹及其全部内容

  2. 我删除了/ home / user1 / tmp文件夹,以便当我们再次运行cordova时,它会创build具有当前用户的适当权限的新的tmp文件夹

  3. 使用“离子启动应用程序5”创build了新的应用程序 – 这是我以前用sudo做的主要问题

  4. 添加平台使用“离子平台添加android”

  5. 执行“离子运行机器人”

记住,如果从命令行你可以运行“android”命令和“java -version”命令,那么上面是完美的解决scheme。 让我知道你们是否需要我的帮助。

面对这个问题多天后,我按照上面的说明,并在MAC上设置我的.bash_profile像这样

 #==================================================== export ANT_HOME=/usr/local/Cellar/ant/1.9.4/bin/ant # export HOME="/Users/User" export ANDROID_HOME="$HOME/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk" export PATH="$HOME/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/tools:$ANDROID_HOME/platform_tools:$PATH" # export JAVA_HOME=$(/usr/libexec/java_home) export PATH=${PATH} # export PATH=${PATH}:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/platform-tools:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/tools:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W # NPM_PACKAGES="${HOME}/.npm-packages" PATH="$NPM_PACKAGES/bin:$PATH" NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH" # # Unset manpath so we can inherit from /etc/manpath via the manpath # command unset MANPATH # delete if you already modified MANPATH elsewhere in your config MANPATH="$NPM_PACKAGES/share/man:$(manpath)"