我在我的Cordova项目中在Android上构建应用程序时遇到以下错误(我已下载Android SDK)。我在Mac OS X上运行
Creating android project...
/Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:126
throw e;
^
Error: The command "android" failed. Make sure you have the latest Android SDK installed, and the "android" command (inside the tools/ folder) is added to your path.
at /Users/me/.cordova/lib/android/cordova/3.5.0/bin/lib/check_reqs.js:85:29
at _rejected (/Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:808:24)
at /Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:834:30
at Promise.when (/Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:752:41)
at /Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:574:44
at flush (/Users/me/.cordova/lib/android/cordova/3.5.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:419:13)
Error: /Users/me/.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:135:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:755:16)
at Process.ChildProcess._handle.onexit (child_process.js:822:5)
任何人都知道如何解决这个问题?感谢
答案 0 :(得分:2)
好的,我的SDK安装不好。您是否安装了API 19的SDK?
android
命令Cordova 3.5使用SDK 19作为目标sdk(您可以通过编辑androidmanifest.xml来更改它),因此它是一项要求,但没有明确说明,错误信息也不清楚。
如果您想避免长时间下载无用的内容,我建议您在单击“安装”按钮之前在sdk管理器中取消选中Android Wear(Android 4.4W)和Android L的所有内容。
您真正需要的是与API 19,Android SDK工具,Android SDK平台工具,Android SDK构建工具以及USB驱动程序和Android支持库相匹配的SDK平台。如果您想节省空间/时间,可以安全地取消其他所有操作。
当你遇到android和cordova的错误时,你可以尝试获取有关错误的更多详细信息。在OSX + cordova 3.5上,它应该类似于
$HOME/.cordova/lib/android/cordova/3.5.0/bin/check_reqs
要安装apache ant并将其添加到路径中,请更新.bash.profile:
export ANDROID_HOME="/Users/me/adt-bundle/sdk"
export ANT_HOME="/Users/me/apache-ant"
export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANT_HOME/bin"