cordova ubuntu:列出Android目标时出错

Con*_*ech 20 ubuntu android cordova

我正在尝试将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)
Run Code Online (Sandbox Code Playgroud)

没有-d它将是:

Checking Android requirements...
[Error: An error occurred while listing Android targets]
Run Code Online (Sandbox Code Playgroud)

我不确定我缺少什么配置.在我的~/.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 
Run Code Online (Sandbox Code Playgroud)

我安装了蚂蚁:

$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 3 2011
Run Code Online (Sandbox Code Playgroud)

少了什么东西?为什么An error occurred while listing Android targets在尝试将android平台添加到cordova项目时会出现错误?

Qui*_*Fix 18

Cordova有一个脚本来检查是否存在所有依赖项.在您运行时调用,cordova platform add android但不幸的是它的输出在失败时不显示.

您可以尝试手动运行它,它应该是 $home/.cordova/lib/android/cordova/3.5.0/bin/check_reqs

一切都很好的正常输出是"看起来你的环境完全支持cordova-android开发!",或者它应该显示一个关于缺少什么的明确信息.

也许你的问题是你没有在android sdk管理器中安装API 19的SDK平台(cordova 3.3或3.5使用目标sdk 19).

更新: Cordova 3.3或3.5仅适用于SDK 19(Android 4.4.2).错误日志没有明确提到它正在寻找的平台版本.通常错误消息是:

Unable to add platform android. Please see console for more info.
Run Code Online (Sandbox Code Playgroud)

要么

[Error: An error occurred while listing Android targets]
Run Code Online (Sandbox Code Playgroud)

android(sdk/tools)不在路径中时也会发生这种情况.如果check-script打印出正确的错误消息,我会很高兴.BTW,为他们创建了一个PR.

  • @aesede我遇到了同样的问题,这非常令人沮丧.Phonegap安装中的每一步都会出现错误.要特别修复该错误,您需要将android SDK工具添加到PATH变量(/ adt-bundle/sdk/tools).我想这对于大多数人来说必须神奇地发生,因为我必须阅读源代码以找出它为什么不起作用... (11认同)
  • 我遇到与OP相同的问题,提供的建议我得到了"[错误:列出Android目标时出错"],这与我们首先出现的错误相同. (5认同)
  • @RadGH它并没有神奇地发生,它只是在文档中解释:http://cordova.apache.org/docs/en/3.4.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide (3认同)
  • 您可以通过启动`%userprofile%\.cordova\lib\android\cordova\3.3.0\bin\check_reqs`来运行check_reqs,但它不是一个修复程序,只是在某些情况下有一个更清晰的消息的方法 (2认同)