ОБНОВЛЕНИЕ 1:
Это было все, что я сделал в конце:
sudo aptitude install -y python-software-properties python g++ make
sudo add-apt-repository -y ppa:chris-lea/node.js
sudo aptitude update
sudo aptitude install nodejs
sudo aptitude install npm
sudo npm install -g cordova
sudo npm install -g phonegap
phonegap create my-app
cd my-app
export PATH=${PATH}:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/platform-tools:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/tools
sudo aptitude install ant
cordova platform add android
android create avd --name my_and --target 1
phonegap run android
Был ли какой-либо из них не нужен?
ОРИГИНАЛЬНЫЙ ВОПРОС:
На моем компьютере Ubuntu 12.04 я только что установил node.js с npm и cordova:
$ node -v
v0.10.23
$ npm -v
1.3.17
$ cordova -v
3.3.0-0.1.1
Когда я пытаюсь добавить android:
$ cordova platform add android
Я получаю следующий вывод:
Creating android project...
/usr/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occured during creation of android sub-project.
/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while listing Android targets
at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/lib/check_reqs.js:87:29
at _rejected (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
at Promise.when (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
at /home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
at flush (/home/oshirowanen/.cordova/lib/android/cordova/3.3.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
at /usr/lib/node_modules/cordova/src/platform.js:244:30
at ChildProcess.exithandler (child_process.js:641:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
Кто-нибудь знает, почему это происходит и как его решить?
Я получаю ту же проблему с PhoneGap.
Возможно, что двоичные файлы инструментов Android не находятся на вашем пути.
В соответствии с документами PhoneGap (http://docs.phonegap.com/en/2.9.0/guide_getting-started_android_index.md.html) вам необходимо включить инструменты SDK и платформенные инструменты Android в свою переменную среды PATH.
export PATH = ${PATH}:/Разработка/adt-bundle/sdk/platform-tools:/Разработка/adt-bundle/sdk/tools
где Development - это путь, по которому вы установили свой SDK.
Запустите команду "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 и снова запустите команду.
Я запускаю Ubuntu 12.04 и имел ту же проблему, что и вы, до нескольких минут назад.
Две вещи, которые я заметил, что я пропустил во время установки:
Версия для Android должна быть 19, и вы должны будете набрать "android" на консоли и посмотреть какой-нибудь вывод или увидеть всплывающее окно. Убедитесь, что вы добавили путь к папке, где android.jar находится в вашей переменной PATH, и установите ANDROID_HOME на тот же путь. Как правило, вы делаете это в своем .bashrc файле или в /etc/environment. Если вы отредактируете один из этих файлов, вам нужно либо "source ~/.bashrc", либо снова открыть терминал, чтобы заставить его перезагрузить файл. Введите "android", чтобы убедиться, что он работает.
Я заметил, что установка cordova script пыталась записать файлы в подкаталог "надстройки" Android SDK. Этот каталог не существует в самом дистрибутиве Android 19. Следовательно, я создал его вручную и сделал его доступным для записи моей учетной записью пользователя.
ex: путь распространения Android:
/opt/android/
Путь, который пытается написать:
/opt/android/sdk/add-ons
Как только я это сделал, я смог преодолеть проблему, о которой вы говорили выше.
Похоже, файл кордовой библиотеки andorid поврежден в вашем домашнем каталоге.
Попробуйте удалить домашнюю//директорию cordova и сделайте это снова платформа cordova добавьте андроид в свой проект cordova.
Убедитесь, что у вас есть источники/инструменты для платформы и/инструменты для PATH.
Не уверен, что у кого-то была проблема с этим, но после удаления и добавления моей платформы я понял, что в моем config.xml у меня был <icon src='...'>
, и путь внутри src был неправильным.
Здесь был вывод ошибки, который я получил, когда я снова добавил платформу: cp: no such file or directory: C:\Users\{pathtofile}.png
.
После того, как я исправил путь, он работал нормально.
Я много искал для этого, и для меня работала установка переменной оболочки $ANDROID_HOME
на путь папки sdk/
в моем каталоге adt-bundle
от android. Используйте export
для этого:
export ANDROID_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/"
но не забудьте изменить каталог в соответствии с вашим.
Удачи!
Если проблема все еще существует, убедитесь, что у вас есть права доступа, попробуйте
sudo chmo-R 777 /home/your-user-name/.cordova/
Также убедитесь, что вы НЕ используете sudo для добавления Android в качестве платформы.
Это неверно в установке по умолчанию Кордовы
sudo cordova platform add android
Просто сделай
cordova platform add android
Я использую кордову. 2 дня у меня такая же проблема "java, ant, android, cordova, командный тест в порядке, но запустить платформу corova add android показать мне Ошибка: произошла ошибка при отображении целей Android. Теперь я исправлю использование: "chmod 777 ant и android sdk place" , то это сработает. Я использую ubuntu 14.04 32bit,
Похоже, эта ошибка также может быть вызвана отсутствием совместимой версии Android SDK (на данный момент 4.2).
Android
Инструменты командной строки Android построены на сценариях оболочки. У вас должны быть инструменты Android SDK и файлы инструментов платформы в вашем PATH!
Создать проект
Запустите команду create со следующими параметрами:
Path to your new Cordova Android project
Package name, following reverse-domain style convention
Main Activity name
$ /path/to/cordova-android/bin/create /path/to/my_new_cordova_project com.example.cordova_project_name CordovaProjectName
Возможно, ваша кордовая установка повреждена, пытаясь удалить вашу папку .cordova "rm -R ~/.cordova" И "снова запустите платформу кордовы, добавьте андроид"