繁体   English   中英

Cordova,在Ubuntu 14.04上添加Android平台时出现错误

[英]Cordova, getting Error while adding android platform on Ubuntu 14.04

我安装了cordova,可以毫无问题地创建一个新项目。

但是,当我尝试添加android平台时,我收到以下错误:

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等路径,如下所示:

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"

但我仍然遇到问题。

有什么建议么???

UPDATE

这些可能有助于调试:

$ 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

还要添加指向sdk / tools的ANDROID_TOOLS

总而言之:JAVA_HOME,ANT_HOME,ANDROID_HOME,ANDROID_PLATFORM_TOOLS,ANDROID_TOOLS,以及指向sdk的ANDROID_SDK_ROOT。

PS和没有sudo,是的。

我认为你不必以超级用户身份执行“cordova platform add android”。

我整天都在努力解决同一个问题..事实证明我在导出路径变量时没有添加完整路径...

我们小组中的“shell”手建议运行“pwd”以获取“当前工作目录”,然后为导出提供准确的路径......它工作正常

有同样的问题。 我的PATH是正确的。 访问权限没有问题。 还注意到adt-emulator遇到了错误。

最后,它缺少库允许adt(部分是32位)在64位ubuntu系统上运行。

sudo apt-get install lib32z1 lib32z1-dev

解决了这一切,一切正常。

希望这有助于解决其他人的这个问题。

在LMDE中有完全相同的问题和Ranunculus的回答,我直接在我的终端中添加了以下内容并且它有效!

export ANDROID_HOME="$HOME/android-sdk-linux"
export ANDROID_TOOLS="$ANDROID_HOME/tools/"
export ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools/"
export JAVA_HOME="/usr/lib/jvm/java-7-oracle"
export ANT_HOME="/usr/share/ant"
export PATH="$JAVA_HOME:$ANT_HOME:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS:$PATH"

注意:无法对Ranunculus的答案发表评论,因此将其作为答案发布。

我有同样的问题(虽然在Windows上运行,但仍值得检查一下)并发现它是由于Ant中的一个错误 我的Classpath以“也是,我必须通过删除我的类路径变量中的”来解决这个问题。

我有同样的问题尝试硬添加多个配置冲突和另外一件事我发现我在一个终端上更新路径并尝试在另一个终端上执行Cordova命令时打开多个终端我仍然得到相同的错误所以我试图回显$ PATH在第一个终端上显示更新的路径,但另一个终端虽然回显没有显示更新的路径所以最后我打开新终端并再次启动是这次它工作,这种问题通常发生在Windows但我我不确定在Linux上是否会发生同样的情况,但就我而言,我希望这可能会帮助其他新手,因为我们的Cordova和离子指令都能正常工作,感谢SO社区的支持和指导

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM