【发布时间】:2015-03-23 21:06:39
【问题描述】:
我使用的是 Ubuntu 14.04。我正在按照http://chrislarson.me/blog/how-use-cordova-ubuntu-build-android-apps.html 中给出的步骤进行操作 在 Ubuntu 上构建我的第一个 Android 应用。
但是当我运行这个:cordova platform add android 时,我在终端上收到以下消息:
错误:EACCES,打开 '/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/.npmignore'
如果我尝试运行sudo cordova platform add android,我会得到
正在创建安卓项目...
/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:126 扔 e; ^ 错误:ANDROID_HOME 未设置且“android”命令不在您的 PATH 中。您必须至少满足其中一项条件。 在/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/lib/check_reqs.js:159:19 在 _fulfilled (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:798:54) 在 self.promiseDispatch.done (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:827:30) 在 Promise.promise.promiseDispatch (/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:760:13) 在/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:821:14 在刷新(/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:108:17) 在 process._tickCallback (node.js:442:13) 在 Function.Module.runMain (module.js:499:11) 启动时 (node.js:119:16) 在 node.js:929:3 错误:/home/a/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/create:命令失败,退出代码为 8 在 ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23) 在 ChildProcess.emit (events.js:98:17) 在可能关闭(child_process.js:766:16) 在 Process.ChildProcess._handle.onexit (child_process.js:833:5)
【问题讨论】:
-
你的路径正确吗?请您在终端输入 android 确认一下,看看您是否获得了 SDK 管理器?
-
我输入
android,它显示command not found -
看看那是你的问题。我认为 /home/a/Development/adt-bundle-linux-x86-20140702/sdk 不是您的 sdk 路径。你能验证一下吗?
-
我认为我的问题是理解 Linux 中的环境变量。根据我的
echo $PATH的输出,请您建议如何设置路径? -
删除旧路径并将它们添加到您的 bashrc
export ANDROID_HOME=your sdk path export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools,然后使用source ~/.bashrc执行 bashrc 文件