Android 安卓“未设置主页”和;安卓;命令不在您的路径中
我已经安装了android bundle,并且在.bashrc文件中配置了所有内容,甚至当我在命令行中说android时。。我得到了安卓管理器。。但当我说离子平台添加android时,我总是得到错误,因为“错误:android_HOME未设置,并且“android”命令不在您的路径中。您必须至少满足其中一个条件。”。我尝试了很多方法,但问题没有解决 我的平台: Ubuntu 14.04 64位 .bashrc文件:Android 安卓“未设置主页”和;安卓;命令不在您的路径中,android,node.js,cordova,ionic-framework,Android,Node.js,Cordova,Ionic Framework,我已经安装了android bundle,并且在.bashrc文件中配置了所有内容,甚至当我在命令行中说android时。。我得到了安卓管理器。。但当我说离子平台添加android时,我总是得到错误,因为“错误:android_HOME未设置,并且“android”命令不在您的路径中。您必须至少满足其中一个条件。”。我尝试了很多方法,但问题没有解决 我的平台: Ubuntu 14.04 64位 .bashrc文件: export HOME="/home/system" expor
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主路径的问题 .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。
并从Android manager下载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,请不要使用
苏多
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
在创建ionic应用程序和添加android作为平台时,不要使用sudo命令。
Cordova在添加平台时在主文件夹中创建.Cordova目录。在创建新的ionic应用程序之前删除该目录
下载android(4.4.2)后,使用以下命令创建android虚拟设备:
android avd
在面对这个问题很多天后,我按照上面的说明在MAC上设置我的.bash_配置文件
#====================================================
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)"
我也有同样的问题,但我找到了另一种方法,即使用。你可以将它安装到模拟器上并使用它。我也一直在努力解决这个问题(Ubuntu 14.04),我记得我接受了一个事实,那就是让cordova build命令对我来说太难了:-)。我确信我的路径是正确的(尝试了root和user等),并尝试了我能找到的所有解决方案 Stoicuta Alexandru的评论为我解决了这个问题。我引述: 如果未设置ANDROID_HOME,cordova将在HOME/ANDROID sdk中搜索它 所以,只要把我的android sdk放在主文件夹中(重要的是)命名为android sdk就行了
希望能为一些人节省一些时间…在我的例子中,我首先创建了ionic应用程序,并使用SUDO运行了其他ionic命令;这就是为什么它不能像sudo使用根配置文件那样工作 我就是这样修复的:
请记住,若您可以从命令行运行“android”命令和“java-version”命令,那个么以上就是完美的解决方案。如果你们需要我的帮助,请告诉我。你们是以root用户身份运行的吗?也许你可以键入
echo$ANDROID\u HOME
你会得到一个空字符串不,我是作为普通用户运行的onlysystem@system-H81M-S1:~$echo$ANDROID_HOME/HOME/system/adt-bundle-linux-x86_64-20140702/sdk/toolssystem@system-H81M-S1:/usr/share/nginx/www/myApp#
对我来说,它就像一个运行它的广告root@blackbelt嗨,我是仅在非root用户中工作。。甚至我也为非root用户配置了相同的配置。我也尝试在根用户,但无论如何它不工作。。。有没有关于这个错误发生在哪里的建议?一般来说,为什么会发生此错误?如果您无法运行android和java命令,请告诉我,我将帮助您解决此问题。奇怪的是,完成此操作后,我还必须“导出android_HOME=“/HOME/android sdk”…至少它现在可以工作了!几个小时后。。。