我试图添加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]
我不知道我错过了什么configuration。 在我的~/.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
less了什么东西? 为什么我得到错误在尝试将android平台添加到cordova项目An error occurred while listing Android targets
时An error occurred while listing Android targets
错误?
科尔多瓦有一个脚本来检查是否所有的依赖关系都存在。 当你运行cordova platform add android
时候会调用cordova platform add android
但不幸的是它的输出在失败时不显示。
你可以尝试手动运行,应该是$home/.cordova/lib/android/cordova/3.5.0/bin/check_reqs
一切正常的正常输出是“看起来你的环境完全支持cordova-android开发!”,另外它应该显示一个明确的消息,什么是缺少的。
也许你的问题是,你没有安装SDK SDK SDK平台的Android SDK SDK (科尔多瓦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)不在路径中时,也会发生这种情况。 如果检查脚本打印了正确的错误信息,我会爱上它。 顺便说一句, 为他们创建了一个公关 。
在.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
请参考问题
列出Android目标时发生错误
和链接developer.android.com/tools/devices/managing-avds-cmdline.html
指向这个android的路径变量很可能是错误的。 我已经使用%ANDROID_HOME%
作为变量,并将其缩放到路径变量%ANDROID_HOME%\SDK\TOOLS.
此方法不起作用。 通过直接指向工具和平台工具来实验性地解决问题。
只是基于我做了什么,它为我工作。 希望你解决了问题
即使在Cordova check_reqs工作正常但没有提供任何错误之后,我仍然遇到了这个问题。但是在添加一个新的平台时,这个错误仍然被提出。 以上方法personaly解决了我的问题。
我解决了给我的应用程序文件夹的完全权限的问题
$ sudo chmod -R 777 myApp
之后,再试一次
$ cd myApp $ ionic platform android