Cordova,在 Ubuntu 14.04 上添加 android 平台时出错 [英] Cordova, getting Error while adding android platform on Ubuntu 14.04
问题描述
我安装了cordova,可以毫无问题地创建一个新项目.
I installed cordova and can create a new project without any problems.
但是,当我尝试添加 android 平台时出现以下错误:
However I'm getting the following error when trying to add android platform:
sudo cordova platform add android
Running platform task...
Adding platform android
Creating android project...
/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while listing Android targets
at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/lib/check_reqs.js:87:29
at _rejected (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:808:24)
at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:834:30
at Promise.when (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:752:41)
at /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:574:44
at flush (/home/tushar/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
Error: /home/tushar/.cordova/lib/android/cordova/3.5.0/bin/create: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)
Unable to add platform android. Please see console for more info.
我尝试了几乎所有来自 stackoverflow 的解决方案,但都没有解决.我在 ./bashrc 文件中添加了 android sdk、ant 等的路径,如下所示:
I have tried almost all of the solutions from stackoverflow but none of them solved. I have added the path to android sdk, ant etc on ./bashrc file as following:
export HOME="/home/tushar"
export ANDROID_HOME="$HOME/Development/adt-bundle/sdk/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/Development/adt-bundle/sdk/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
export ANT_HOME="$HOME/Development/ant"
export PATH="$PATH:$ANT_HOME/bin"
但我仍然遇到问题.
有什么建议???
更新
这些可能有助于调试:
$ node -v
v0.10.25
$ npm -v
1.3.10
$ cordova -v
3.5.0-0.2.4
$ android list targets
Available Android targets:
----------
id: 1 or "android-19"
Name: Android 4.4.2
Type: Platform
API level: 19
Revision: 3
Skins: HVGA, WXGA800, WVGA800 (default), WQVGA432, WXGA800-7in, WXGA720, QVGA, WVGA854, WQVGA400, WSVGA
Tag/ABIs : default/armeabi-v7a
推荐答案
您的路径有问题:ANDROID_HOME 应该指向 sdk 文件夹,而不是 sdk/tools
There is a problem with your paths: ANDROID_HOME should point to sdk folder, not sdk/tools
同时添加指向 sdk/tools 的 ANDROID_TOOLS
Also add ANDROID_TOOLS pointing to sdk/tools
总之你需要:JAVA_HOME,ANT_HOME,ANDROID_HOME,ANDROID_PLATFORM_TOOLS,ANDROID_TOOLS,或许 ANDROID_SDK_ROOT 也指向 sdk.
All in all you need: JAVA_HOME, ANT_HOME, ANDROID_HOME, ANDROID_PLATFORM_TOOLS, ANDROID_TOOLS, and maybe ANDROID_SDK_ROOT pointing to sdk as well.
附言没有 sudo,是的.
P.S. and without sudo, yes.
这篇关于Cordova,在 Ubuntu 14.04 上添加 android 平台时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!