PhoneGap/Кордова Разработка Android

ОБНОВЛЕНИЕ 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.

Ответ 1

Возможно, что двоичные файлы инструментов 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.

Ответ 2

Запустите команду "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 и снова запустите команду.

Ответ 3

Я запускаю 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

Как только я это сделал, я смог преодолеть проблему, о которой вы говорили выше.

Ответ 4

Похоже, файл кордовой библиотеки andorid поврежден в вашем домашнем каталоге.

Попробуйте удалить домашнюю//директорию cordova и сделайте это снова платформа cordova добавьте андроид в свой проект cordova.

Убедитесь, что у вас есть источники/инструменты для платформы и/инструменты для PATH.

Ответ 5

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

Ответ 6

Похоже, эта ошибка также может быть вызвана отсутствием совместимой версии Android SDK (на данный момент 4.2).

Ответ 7

Я использую кордову. 2 дня у меня такая же проблема "java, ant, android, cordova, командный тест в порядке, но запустить платформу corova add android показать мне Ошибка: произошла ошибка при отображении целей Android. Теперь я исправлю использование: "chmod 777 ant и android sdk place" , то это сработает.  Я использую ubuntu 14.04 32bit,

Ответ 8

Если проблема все еще существует, убедитесь, что у вас есть права доступа, попробуйте

sudo chmo-R 777 /home/your-user-name/.cordova/

Также убедитесь, что вы НЕ используете sudo для добавления Android в качестве платформы.

Это неверно в установке по умолчанию Кордовы

sudo cordova platform add android

Просто сделай

cordova platform add android

Ответ 9

Я много искал для этого, и для меня работала установка переменной оболочки $ANDROID_HOME на путь папки sdk/ в моем каталоге adt-bundle от android. Используйте export для этого:

export ANDROID_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/" но не забудьте изменить каталог в соответствии с вашим.

Удачи!

Ответ 10

Не уверен, что у кого-то была проблема с этим, но после удаления и добавления моей платформы я понял, что в моем config.xml у меня был <icon src='...'>, и путь внутри src был неправильным.

Здесь был вывод ошибки, который я получил, когда я снова добавил платформу: cp: no such file or directory: C:\Users\{pathtofile}.png.

После того, как я исправил путь, он работал нормально.

Ответ 11

Возможно, ваша кордовая установка повреждена, пытаясь удалить вашу папку .cordova "rm -R ~/.cordova" И "снова запустите платформу кордовы, добавьте андроид"