我安装了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"
但我还是遇到这个问题。
有什么建议吗? ?
这些可能有助于调试:
$ 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
还添加ANDROID_TOOLS指向sdk/tools
All in All you need:JAVA_HOME。ANT_HOME,ANDROID_HOME,ANDROID_PLATFORM_TOOLS,ANDROID_TOOLS,也许ANDROID_SDK_ROOT也指向sdk。
注:如果没有sudo, yes
我认为你不必以超级用户的身份执行"cordova platform add android"
我一整天都在为同样的问题而挣扎。原来我没有添加完整的路径,而导出路径变量…
我们组中的一个"shell"hand建议运行"pwd"来获取"当前工作目录",然后给export准确的路径…它工作
有同样的问题。我的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"
N。B:不能评论Ranunculus的回答,所以把它作为一个回答。
我也遇到了同样的问题(虽然在Windows上运行,但仍然值得在您这边检查),并发现这是由于Ant中的一个错误。我的Classpath以"too"结尾,我必须通过删除类路径变量中的"来修复这个问题。
我有同样的问题努力添加多个配置什么冲突和一件事时,我发现我已经打开多个终端更新路径在一个终端和科尔多瓦试图执行命令在另一个我仍然得到相同的错误所以我试着回声路径第一终端显示更新路径美元但其他终端而呼应不显示更新后的路径,所以最后我打开新航站楼,是的这次再次开始这种问题通常发生在windows中,但我不确定是否同样发生在Linux上,但在我的情况下,它是,我希望这可以帮助其他新手现在我的Cordova和ionic命令都工作得很好,感谢SO社区的支持和指导