【问题标题】:cordova ubuntu: An error occurred while listing Android targetscordova ubuntu:列出 Android 目标时出错
【发布时间】:2014-02-11 10:43:19
【问题描述】:

我正在尝试将 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项目时收到错误An error occurred while listing Android targets

【问题讨论】:

标签: android ubuntu cordova


【解决方案1】:

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

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

一切正常时的正常输出是“看起来您的环境完全支持cordova-android 开发!”,否则它应该清楚地显示缺少的信息。

也许你的问题是你没有在android sdk manager中安装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.

[Error: An error occurred while listing Android targets]

android (sdk/tools) 不在路径中时也会发生这种情况。如果检查脚本打印了正确的错误消息,我会喜欢的。顺便说一句,created a PR for them.

【讨论】:

  • 你知道 Windows 的修复方法吗?
  • 您可以通过启动 %userprofile%\.cordova\lib\android\cordova\3.3.0\bin\check_reqs 来运行 check_reqs 但这不是解决方法,只是在某些情况下获得更清晰的消息的一种方式
  • 我遇到了与 OP 相同的问题,根据提供的建议,我得到了 [Error: An error occurred while listing Android targets],这与我们最初遇到的错误相同。
  • @aesede 我遇到了同样的问题,这非常令人沮丧。 Phonegap 安装中的每一步都会出现错误。要特别修复该错误,您需要将 android SDK 工具添加到您的 PATH 变量 (/adt-bundle/sdk/tools)。我想这对大多数人来说一定会神奇地发生,因为我必须阅读源代码才能弄清楚它为什么不起作用......
  • @RadGH 它不会神奇地发生,它只是在文档中进行了解释:cordova.apache.org/docs/en/3.4.0/…
【解决方案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

(记得用你自己的sdk路径替换)

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

【讨论】:

    【解决方案3】:

    请参考问题

    An error occurred while listing Android targets

    和链接 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-10
        • 1970-01-01
        相关资源
        最近更新 更多