Кордоба платформы добавить android не работает при перечислении Android целей
У меня возникли проблемы, когда я хочу добавить платформу Android в приложение phoneGap.
Я получил это сообщение в своем CLI, когда я запускаю команду corova platform add android:
Checking Android requirements...
(Error: An error occurred while listing Android targets)
Я уже пытаюсь добавить свое местоположение sdk для Android в переменную пути.
Пожалуйста, помогите мне!: D
Я работаю над 64-разрядными версиями Windows 7, я устанавливаю API android API 17, 18 и 19 с помощью SDK android.
Я нахожусь в версии 3.2 phoneGap.
Ответы
Ответ 1
Чтобы работать, этой команде cordova необходимо использовать некоторые программы, расположенные в вашем каталоге sdk/tools
. Вам также необходимо установить apache ant.
Затем вы должны добавить эти каталоги в свою системную переменную PATH
:
Фон:
- предположим, что вы установили Android SDK в каталог
c:\sdk\android
- вы установили < Apache ant в каталог
c:\tools\apache-ant
Затем вы должны создать две системные переменные:
-
ANDROID_HOME
с c:\sdk\android
значением
-
ANT_HOME
со значением c:\tools\apache-ant
Наконец, вы должны изменить переменную PATH
и добавить эти два в конец значения PATH
:
;%PATH%\tools;%ANT_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
ПРИМЕЧАНИЕ: для тех, кто использует Linux, инструкция немного отличается.
Дополнительная документация доступна здесь.
Ответ 2
Для избранных, которые предпочитают среду разработки Linux
Требования
Прежде всего, для начала вам понадобятся несколько вещей. Это: Android SDK
и Apache Ant
. Конечно, вам понадобится Java SDK
(JDK).
Чтобы заставить Android SDK работать для всех пользователей, вам необходимо изменить файл /etc/environment
, а затем перезагрузить компьютер. Но если вы не хотите этого трудного пути - следуйте за мной, подумайте о себе как о единственном пользователе ПК. И используйте файл /home/YOUR_USERNAME/.bashrc
для редактирования.
Помните свой домашний путь один раз, чтобы предотвратить дальнейшие длинные строки. Добавьте это в свой /home/YOUR_USERNAME/.bashrc
:
export HOME="/home/YOUR_USERNAME"
Затем мы будем использовать обозначение $HOME
, если хотим сказать "/home/YOUR_USERNAME directory
".
Настройка Android SDK
Загрузите архив Android SDK и разархивируйте его где-нибудь. Скажем, в вашем домашнем каталоге $HOME/adt-bundle/
.
Добавьте эти строки в свой $HOME/.bashrc
:
export ANDROID_HOME="$HOME/android-bundle/sdk/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
Настройка Ant
Как и в случае с Android SDK, загрузите архив и разархивируйте его в свой домашний каталог. Затем добавьте их в свой .bashrc
:
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
Я установил один через apt-get
, поэтому это не повлияло на мой .bashrc
.
Применение изменений
Чтобы эти изменения работали, вы должны либо работать в новом окне терминала (открывать после), либо запускать source ~/.bashrc
, чтобы сделать изменения доступными в текущем окне терминала.
Завершение
В конце вы получите:
- Два каталога в вашем домашнем каталоге -
ant
и android-bundle
-
Несколько строк, добавленных в ваш .bashrc
:
export ANDROID_HOME="$HOME/android-bundle/sdk/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
Ответ 3
Запустите команду "android" из папки adt\sdk\tools и установите последние инструменты и SDK. Также убедитесь, что ваш PATH имеет правильные переменные.
Для этого вам понадобится ANT для установки, установлен JAVA JDK и Android SDK
JAVA_HOME (C:\Program Files\Java\jdk)
ANT_HOME ({ ant location}\apache\apache- ant)
ANDROID_HOME ({android sdk location}\android-sdk)
Добавьте их в свою переменную PATH, например% ANT_HOME%/bin;% ANDROID_HOME%\tools;% ANDROID_HOME%\platform-tools;% JAVA_HOME%\bin
Закройте и снова откройте свой cmd и снова запустите команду.
Совместимо с Android-телефоном PhoneGap/Cordova
Ответ 4
Я не уверен, что это ваша проблема, но я столкнулся с подобными ошибками, когда кеш библиотеки кордоны загрязнен чем-то поврежденным. Чтобы исправить это, вам просто нужно удалить кеш-кордову, и он будет автоматически повторно заполняться при следующем использовании "кордовы".
В OS X этот каталог ~/.cordova. В Windows я предполагаю, что это .cordova в домашнем каталоге ваших пользователей.
Ответ 5
Ответ: "Все выше". Однако, как уже упоминалось в переменных среды, выполните следующие действия:
C:\Users {YOUR_NAME}.cordova\lib\android\cordova\3.5.0\framework отредактируйте файл project.properties и измените target = android-19 на target = android-20.
Предположительно, это нужно будет изменить для следующего исполнения android sdk, пока эта небольшая проблема не будет решена.
Ответ 6
после долгой борьбы, выполнив все вышеперечисленные предложения более чем один раз с растущим отчаянием, я просто открыл мой cmd в качестве администратора. это сработало. я думаю, я просто слишком привык к "sudo", прежде чем я получил этот компьютер.
Ответ 7
Для тех, кто столкнулся с этой проблемой, я добавляю что-то дополнительное, что может быть полезно, в моем случае все правильно настроенные переменные, и это все еще неспособно добавить платформу Android, и я действительно отключил мой антивирус avast и слоем! все протекало гладко, происходило то, что антивирус блокировал создание платформы.
Также важно было перезагрузить компьютер.;)
С уважением.
Ответ 8
У меня была такая же проблема, хотя переменные пути были установлены точно в соответствии с инструкциями. После прохождения нескольких файлов я, наконец, решил. Для меня (Windows 64 Enterprise 64 бит) мне пришлось изменить check_reqs.js и create.js из "C:\Users \.cordova\lib\android\cordova\3.5.0\bin\lib\" , чтобы включить абсолютный путь для android.bat. Мой SDK для Android работает под "C:\Android\android-sdk".
В check_reqs.js я изменил
child_process.exec('android list targets', function(err, stdout, stderr) {
к
child_process.exec('C:\\Android\\android-sdk\\tools\\android.bat list targets', function(err, stdout, stderr) {
В create.js я изменил инструкцию
return exec('android update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
to
return exec('C:\\Android\\android-sdk\\tools\\android.bat update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
Также не забудьте те двойные "\\" в абсолютном пути
Ответ 9
Я заметил проблему с Cygwin/Windows 7. Проблема связана с несколькими разными способами: оболочки Cygwin и MS-DOS обрабатывают файлы .bat.
Во время "добавления платформы" кордова вызывает "андроид":
C:\Users\xxx\.cordova\lib\android\cordova\3.4.0\bin\lib\check_reqs.js
Где он называет "целевые объекты списка Android" (в строке 73)
"android" должен разрешить /xx/android -sdk/tools/android.bat или xx:\android-sdk\tools\android.bat. (И, на самом деле, я могу запустить "android" в командной оболочке MS-DOS, но не в оболочке Cygwin. Там мне нужно добавить ".bat".)
"андроид" без ".bat" не работает в оболочке Cygwin, потому что файл android.exe не существует (только .bat). Изменение строки 73 для вызова "целей списка android.bat" решит вашу проблему (или даст разумное сообщение об ошибке).
Еще одна проблема - запустить кордову в оболочке MS-DOS вместо оболочки Cygwin.
Ответ 10
У нас есть список решений, поэтому я добавляю свой. Это было непонятно для меня, пока я просто не попытаюсь. Вы должны добавить% ANT_HOME%\bin;% ANDROID_HOME%\tools;% ANDROID_HOME%\platform-tools к переменной USER PATH, а не к системной. Переменная System PATH автоматически объединяет переменную USER PATH и переводит переменные в ее значение. Надеюсь, что это помогает кому-то.
Постскриптум Моя ОС - Win 7x64
Ответ 11
Эта проблема обычно возникает из-за того, что переменная PATH не установлена для Android SDK.
export HOME="/home/yourname"
export ANDROID_HOME="$HOME/android-bundle/sdk/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
Ответ 12
Принятый ответ хорош и соответствует точке.
Я столкнулся с другой страницей, где ее очень хорошо объяснили снимки экрана.
Вы можете сослаться http://bealers.com/2014/06/phonegap-android-development-environment-for-windows/