Android HOME не установлен и команда "android" не в вашем пути Phonegap
Я установил Android bundle, и я настроил все.файл bashrc и даже когда я говорю android в командной строке .. я получаю Android manager .. но когда я говорю, что ionic platform add android, я всегда получаю ошибку как " Error: ANDROID_HOME не установлен, а команда "android" не находится на вашем пути. Вы должны выполнить хотя бы одно из этих условий.". я пробовал много способов, но проблема не исправлена .
платформа :
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)
могу ли я узнать, как я могу исправить эту ошибку
6 ответов
я столкнулся с той же проблемой, и это решаемо.
Я думаю, что это проблема с совместимостью последней cordova с последней android. А также у вас есть проблема с Android home path.
In .файл 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 4.4.2 (API 19) из вашего Android менеджера.
вы можете использовать последнюю версию cordova (4.0.0), но если проблема все еще затем используйте cordova (3.5.0-0.2.7), но если вы хотите обновить или понизить cordova, удалите существующий, используя: -
npm uninstall -g cordova (If linux use sudo npm uninstall -g cordova)
если вы используете linux, не используйте судо!--6-->
commad во время установки cordoava, если вы получите какую-либо ошибку, выполните следующие команды
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
sudo chown -R `whoami` /usr/local
затем установите cordova без sudo
npm install -g cordova@3.5.0-0.2.7
во время создания ионного приложения и добавления android в качестве платформы не используйте команду sudo. Cordova создает .каталог cordova в домашней папке во время добавления платформы. Удалите этот каталог перед созданием нового приложения ionic.
и после загрузки android (4.4.2) создайте виртуальное устройство android с помощью команды:
android avd
Я также боролся с этим (Ubuntu 14.04), и я помню, что принял, что просто заставить команду сборки cordova работать было слишком сложно для меня: -). Я был уверен, что мои пути были правильными (пробовал root и user и т. д.) и пробовал каждое решение, которое я мог найти.
комментарий Стоикуты Александру на этой странице решил это за меня. Цитирую:
Если ANDROID_HOME не установлен, cordova будет искать его в главная / android-sdk
поэтому просто поместите мой Android sdk в домашнюю папку и (важно) назовите его android-sdk.
надеюсь сэкономить некоторое время...
У меня была такая же проблема, но я нашел альтернативный метод, т. е. с помощью Приложение Для Разработчиков Phonegap. Вы можете установить его в эмулятор и использовать.
Я попытался вызвать etc/platforms/android/cordova/run --emulator после установки ANDROID_HOME с etc/ android-sdk-linux / и отлично работает. Уникальная проблема заключается в том, что моя система-32bit OS/PC, а затем мне пришлось установить ANDROID_EMULATOR_FORCE_32BIT='true' с командой экспорта.
перед этой операцией, конечно, я установил эмулятор через команду "android avd"
в моем случае я сначала создал ионное приложение и запустил другие ионные команды с помощью SUDO; поэтому он не работал, поскольку sudo использует корневой профиль.
вот как я исправил:
удалить /home/user1/.cordova (заменить user1 на имя пользователя) я использовал команду "sudo rm" для удаления папки и всех ее конентов
Я удалил папку /home/user1/tmp, чтобы при повторном запуске cordova она создавала новую папку tmp с правильное разрешение текущего пользователя
создано новое приложение с помощью "ionic start app5" - это была основная проблема, как я ранее делал это с sudo
добавлена платформа с помощью "ionic platform add android"
выполняется с помощью "ionic run android"
помните, что если из командной строки вы можете запустить команду "android" и команду "java-version", то выше-идеальное решение. дай мне знать, если ребята, вам нужна моя помощь.
после столкновения в течение многих дней с этой проблемой я следую инструкциям выше и устанавливаю мой .bash_profile, как это на MAC
#====================================================
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)"