'Ошибка: команда "android" не удалась "с использованием кордовы

Я пытаюсь добавить платформу Android на кордову. Я добавил и скачал самый последний SDK в Android SDK, мой путь: export PATH=${PATH}:/Users/xxx/Development/android-sdk-macosx/platform-tools:Users/xxx/Development/android-sdk-macosx/tools, но я продолжаю получать следующую ошибку:

Error: The command "android" failed. Make sure you have the latest Android SDK installed, and the "android" command (inside the tools/ folder) is added to your path.
    at /Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/lib/check_reqs.js:85:29
    at _rejected (/Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:808:24)
    at /Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:752:41)
    at /Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:574:44
    at flush (/Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
Error: /Users/xxx/.cordova/lib/android/cordova/3.5.0/bin/create: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:755:16)
    at Process.ChildProcess._handle.onexit (child_process.js:822:5)

Что я делаю неправильно? Я искал ответы на все вопросы, но ничего не работает. Спасибо заранее!

Ответ 1

В случае Apache Cordova с Android Studio 0.8 для Mac OS X 10.9, если вы установили в папку по умолчанию/Приложения, запустите это в Terminal

export ANDROID_HOME="/Applications/Android Studio.app/sdk"
export ANDROID_TOOLS="/Applications/Android Studio.app/sdk/tools/"
export ANDROID_PLATFORM_TOOLS="/Applications/Android Studio.app/sdk/platform-tools/"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS

Чтобы подтвердить, запустите эхо и получите

echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Android Studio.app/sdk:/Applications/Android Studio.app/sdk/tools/:/Applications/Android Studio.app/sdk/platform-tools/

Для Кордовы 3.6 это еще одна ошибка на новой Android Studio

Error: Please install Android target "android-19"

Чтобы решить эту проблему, откройте диспетчер SDK в среде IDE и загрузите указанную версию Android (android-19)

Ответ 2

команда android является частью пакета инструментов sroid sroid. Оба android и adb используются инструментами Кордовы для работы с их магией, и оба должны быть вставлены на путь.

Они расположены в следующих каталогах:

path/to/android/sdk/tools
path/to/android/sdk/platform-tools  

Я не знаю, на какой ОС вы развиваетесь. Процесс изменения пути отличается от окон и систем на основе UNIX.

добавить к пути в unix-подобных системах

В моей системе (OSX) это делается путем добавления следующих строк в .bash_profile:

PATH=$PATH:/Users/lorenzo/dev/sdks/adt-bundle/sdk/tools
PATH=$PATH:/Users/lorenzo/dev/sdks/adt-bundle/sdk/platform-tools

это также можно сделать в одной строке:

PATH=$PATH:/Users/lorenzo/dev/sdks/adt-bundle/sdk/tools:/Users/lorenzo/dev/sdks/adt-bundle/sdk/platform-tools

это добавляет строки пути к глобальной переменной PATH. В unix разделитель путей имеет значение::

добавить к пути в windows

в том же процессе, вот официальные документы: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653%28v=vs.85%29.aspx

дополнительное чтение и следующие шаги

Эта статья в блоге проведет вас по настройке пути и будет обновлена.

Вы можете посмотреть руководство по началу работы с Cordova Android, в котором подробно описано, как добавить необходимые компоненты к вашему пути.

После того, как ваш путь настроен, вам нужно запустить инструмент android и установить дополнительные инструменты и платформы Android (версии).

Вам понадобится Apache ANT и время выполнения java.

Обратите внимание, что это не специфические требования к cordova, а требования к разработке Android с SDK.