cordova ubuntu:列出Android目标时出错

cordova ubuntu:列出Android目标时出错,android,ubuntu,cordova,Android,Ubuntu,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...

我正在尝试将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

少了什么?为什么我会收到错误
在尝试将Android平台添加到cordova项目时,在列出Android目标时发生错误

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

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

当一切正常时,正常的输出是“看起来您的环境完全支持cordova android开发!”,oterwise它应该显示一条关于缺少什么的清晰信息

可能您的问题是您尚未在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.


android
(sdk/tools)不在路径中时,也会发生这种情况。如果检查脚本打印了正确的错误消息,我会很高兴。顺便说一句,请参考问题

以及链接 developer.android.com/tools/devices/management-avds-cmdline.html

很可能指向这个android的path变量是错误的。我使用了
%ANDROID\u HOME%
作为变量,并将其缩放为路径变量
%ANDROID\u HOME%\SDK\TOOLS。
此方法不起作用。通过直接指向工具和平台工具进行实验解决

基于我所做的一切,这对我很有效。希望你能解决这个问题

即使在Cordova check_reqs正常工作且未提供任何错误后,我仍然面临该问题。但在添加新平台时,仍会出现此错误。上述方法个人解决了我的问题。

in.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"
或者尝试全局显式定义路径

从终端I类型:

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
(请记住用您自己的sdk路径替换)


如果这不起作用,请尝试更新sdk

我解决了为我的应用程序文件夹授予完全权限的问题

$ sudo chmod -R 777 myApp
之后,再试一次

$ cd myApp
$ ionic platform android

您是否尝试过
sudo cordova platform add android
?这里有相同的问题,使用
sudo
会抛出相同的错误我有相同的问题这可能会帮助您我有相同的问题这可能会帮助您[[1]:您知道Windows的修复程序吗?您可以通过启动
%userprofile%\.cordova\lib\android\cordova\3.3.0\bin\check\u-reqs运行check\u-reqs
来运行check\u-reqs,但这不是一个修复程序,只是在某些情况下获得更清晰信息的一种方法。我与OP有相同的问题,我得到的建议
[错误:列出android目标时发生错误]
这与我们最初遇到的错误相同。@aesede我也遇到了同样的问题,这非常令人沮丧。Phonegap安装中的每一步似乎都会出现一个错误。要特别修复该错误,您需要将android SDK工具添加到PATH变量(/adt bundle/SDK/tools).我想这对大多数人来说一定是奇迹般的发生,因为我必须阅读源代码才能找出它为什么不起作用…@RadGH这不是奇迹般的发生,只是在文档中解释过:
$ cd myApp
$ ionic platform android