cordova platform add android не работает при перечислении целей Android
У меня возникла проблема, когда я хочу добавить платформу android в свое приложение phoneGap.
Я получил это сообщение в моем CLI, когда я выполняю команду cordova platform add android:
Checking Android requirements...
(Error: An error occurred while listing Android targets)
Я уже пытаюсь добавить свое местоположение Android sdk в переменную path.
пожалуйста, помогите мне ! : D
Я работаю на Windows 7 64 бит, я устанавливаю Android API 17, 18 и 19 С Android SDK.
Я нахожусь на версии 3.2 phoneGap.
12 ответов:
для работы этой команды cordova необходимо использовать некоторые программы, расположенные в вашем ':
;%PATH%\tools;%ANT_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-toolsПримечание: для тех, кто использует Linux, инструкция немного отличается.
доступна дополнительная документация здесь.
для тех избранных, кто предпочел среду разработки 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 и распакуйте его где-нибудь. Скажем, yo ваш домашний каталог,
$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"
запустите команду "android" из папки adt\sdk\tools и установите последние инструменты и SDK. Также убедитесь, что ваш путь имеет правильные переменные.
для этого вам нужно будет установить 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)
добавьте их в переменную пути, например %ANT_HOME%/бин;%ANDROID_HOME%инструменты\;%ANDROID_HOME%платформа-Tools\;%переменной JAVA_HOME%\ОГРН
закройте и снова откройте cmd и снова выполните команду.
аналогично PhoneGap / Cordova Android Development
Я не уверен, что это ваша проблема, но я столкнулся с подобными ошибками, когда кэш библиотеки cordova загрязняется чем-то поврежденным. Чтобы исправить это, вам просто нужно удалить кэш cordova, и он будет автоматически повторно заполняться при следующем использовании "cordova".
в OS X этот каталог~/.Кордова. На Windows, я предполагаю, что это .Кордова в вашем домашнем каталоге пользователей все еще.
ответ "Все вышеперечисленное". Сделайте, как уже упоминалось, с переменными среды, однако, также сделайте это:
C:\Users{YOUR_NAME}.cordova\lib\android\cordova\3.5.0\framework отредактируйте проект.свойства файла и изменить target=android-19 на target=android-20.
предположительно, это нужно будет изменить для следующей версии Android sdk, а также до тех пор, пока эта небольшая проблема не будет решена.
у меня была такая же проблема, хотя переменные пути были установлены точно в соответствии с инструкциями. После просмотра нескольких файлов я, наконец, получил его решение. Для меня (Windows 7 enterprise 64 бит) мне пришлось изменить check_reqs.js и создать.js С "C:\Users\.cordova\lib\android \ cordova\3.5.0\bin\lib\" папка для включения абсолютного пути для android.летучая мышь. Мой Android SDK находится под "C:\Android\android-sdk".
в check_reqs.js I изменено
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) + '"');до
return exec('C:\Android\android-sdk\tools\android.bat update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');также не забывайте те двойные "\ \ " в абсолютном пути
после долгой борьбы, после выполнения всех вышеперечисленных предложений несколько раз с растущим отчаянием, я просто открыл свой cmd в качестве администратора. это сработало. я думаю, что я просто слишком привык к "sudo", прежде чем я получил этот компьютер.
для тех, кто столкнулся с этой проблемой, я добавляю что-то дополнительное, что может быть полезно, в моем случае все переменные были правильно настроены, и это все еще не удалось добавить платформу android, и я отключил свой антивирус avast и puff! все шло гладко, происходило то, что антивирус блокировал создание платформы.
также важно для меня было перезагрузить компьютер. ;)
с уважением.
Я заметил проблему с Cygwin / Windows 7. Проблема связана с несколько различными способами обработки оболочек Cygwin и MS-DOS .Bat-файл.
во время "добавить платформу", Кордова вызывает "android":
C:\Users\xxx\.cordova\lib\android\cordova.4.0\bin\lib\check_reqs.jsгде он вызывает "android список целей" (на линии 73)
"android" должен разрешить /xx/android-sdk/tools/android.летучая мышь или XX: папке Android-SDK-инструментов\\андроид.летучая мышь. (И, на самом деле, я могу запустить "android" в командной оболочке MS-DOS , но не в Cygwin shell. Там мне нужно добавить".летучая мышь.")
" android "без".bat " терпит неудачу в оболочке Cygwin, потому что android.exe не существует (только .летучая мышь делает). Изменение строки 73 для вызова ' android.bat list targets ' решит вашу проблему (или даст разумное сообщение об ошибке).
другой обходной путь-запустить cordova в оболочке MS-DOS вместо оболочки Cygwin.
У нас есть список решений, поэтому я одна. Это было не ясно для меня, пока я просто не попробую. Вы должны добавить %ANT_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools в переменную пути пользователя, а не в системную. Системная переменная пути автоматически объединит переменную пути пользователя и переведет переменные в ее значение. Надеюсь, это кому-то поможет. P. S. Мои ОС-это выиграть 7x64
эта проблема обычно возникает из-за того, что переменная 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"
принятый ответ хорош и к делу.
я наткнулся на другую страницу, где его очень хорошо объяснили с экранов.
вы можете ссылаться http://bealers.com/2014/06/phonegap-android-development-environment-for-windows/
Comments