Подтвердить что ты не робот

Cordova ubuntu: Произошла ошибка при отображении Android-целей

Я пытаюсь добавить платформу android к моему проекту cordova, хотя я получаю ошибку:

$ cordova platform add android -d
cordova library for "android" already exists. No need to download. Continuing.
Checking if platform "android" passes minimum requirements...
Checking Android requirements...
cordova library for "android" already exists. No need to download. Continuing.
Error: An error occurred while listing Android targets
    at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/lib/check_reqs.js:83:29
    at _rejected (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:808:24)
    at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:752:41)
    at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:574:44
    at flush (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

Без -d это будет:

Checking Android requirements...
[Error: An error occurred while listing Android targets]

Я не уверен, какая конфигурация у меня отсутствует. В моем файле ~/.bashrc у меня есть:

### Java
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

export ANDROID_HOME=~/Code/adt-bundle-linux-x86-20131030/sdk/tools
export ANDROID_PLATFORM_TOOLS=~/Code/adt-bundle-linux-x86-20131030/sdk/platform-tools
export PATH=$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH 

и я установил ant:

$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 3 2011

Что пропало? Почему я получаю ошибку An error occurred while listing Android targets при попытке добавить платформу android к проекту cordova?

4b9b3361

Ответ 1

Кордова имеет script, чтобы проверить, присутствуют ли все зависимости. Is вызывается при запуске cordova platform add android, но, к сожалению, его вывод не отображается, когда он терпит неудачу.

Вы можете попробовать запустить его вручную, это должно быть $home/.cordova/lib/android/cordova/3.5.0/bin/check_reqs

Нормальный выход, когда все в порядке: "Похоже, ваша среда полностью поддерживает развитие кордовы-андроида!", иначе он должен показать четкое сообщение о том, что отсутствует.

Возможно, ваша проблема в том, что вы не установили платформу SDK для API 19 в менеджере Android sdk (кордова 3.3 или 3.5 использует целевую sdk 19).

Обновление: Кордова 3.3 или 3.5 работает только с SDK 19 (Android 4.4.2). В журналах ошибок четко не указано, какую версию платформы он ищет. Обычно сообщения об ошибках:

Unable to add platform android. Please see console for more info.

или

[Error: An error occurred while listing Android targets]

Это также может произойти, когда android (sdk/tools) не находится в пути. Мне бы очень понравилось, если в чеке script напечатано правильное сообщение об ошибке. BTW, создал для них PR.

Ответ 2

в .bashrc попробуйте добавить

export ANT_HOME="/usr/bin/ant"
export PATH="$PATH:$ANT_HOME/bin"
export HOME="/home/username"
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 PATH=${PATH}:~/dev/adt-bundle-linux-x86_64-20140321/sdk/tools
export PATH=${PATH}:~/dev/adt-bundle-linux-x86_64-20140321/sdk/platform-tools

(rememebr, чтобы заменить свой собственный путь sdk)

Если это не сработает, попробуйте обновить sdk

Ответ 3

Пожалуйста, обратитесь к вопросу

Произошла ошибка при отображении целей Android

и ссылка   developer.android.com/tools/devices/managing-avds-cmdline.html

Скорее всего, переменная пути, указывающая на этот андроид, была неправильной. Я использовал %ANDROID_HOME% как переменную и масштабировал то же самое с переменными пути %ANDROID_HOME%\SDK\TOOLS. Этот метод не работает. Экспериментально разрешено путем прямого указания на Инструменты и инструменты платформы.

Просто основываясь на том, что я сделал, и это сработало для меня. Надеюсь, что проблема решена.

Я столкнулся с проблемой даже после того, как Cordova check_reqs работала правильно, не допуская ошибок. Но при добавлении новой платформы эта ошибка все еще поднималась. Вышеупомянутый метод лично решил мою проблему.

Ответ 4

Я решил проблему с полным разрешением для моей папки приложения

$ sudo chmod -R 777 myApp

После этого повторите попытку

$ cd myApp
$ ionic platform android