从我的app目录运行cordova build
时出现以下错误
[Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.]
ERROR building one of the platforms: Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139: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)
我已将~/.profile
文件设置如下
export ANDROID_HOME="/usr/local/android-sdk-linux"
export ANDROID_PLATFORM_TOOLS="/usr/local/android-sdk-linux/platform-tools"
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_PLATFORM_TOOLS
和echo ANDROID_HOME
给出以下结果
/usr/local/android-sdk-linux
我使用的是Ubuntu 14.04。如何解决这个问题并构建cordova应用程序?
答案 0 :(得分:13)
发生此错误,因为您未正确设置Android sdk路径。 首先,找到android-sdk文件夹在您计算机中的位置。在android-sdk文件夹中,有一个名为“platform-tools”的文件夹。所以你可以正确识别android-sdk文件夹。然后获取android-sdk文件夹的路径。现在打开终端并输入以下命令,
export ANDROID_HOME="your android-sdk path"
现在运行该项目。
答案 1 :(得分:6)
将权限文件夹权限恢复到平台文件夹的所有文件夹/子文件夹
使用sudo cordova platform remove android
使用cordova platform add android
添加Android平台不要使用SUDO!如果没有sudo的错误那就是问题所在!永远不要使用sudo的东西,否则项目会有这样的问题!
如果你仍有问题,那么你可能已经使用sudo安装了cordova,也有一个解决方案:
首先,我们必须为全局安装设置npm,这样我们就可以在没有sudo的情况下使用它,在不破坏$ HOME的情况下,让npm全局安装包的首选方法是设置本地节点前缀。这就像跑步一样简单:
echo prefix = ~/.node >> ~/.npmrc
echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
然后跑步:
npm install -g cordova
可能导致:
Error: EACCES, permission denied '/home/yourusername/.config/configstore/update-notifier-cordova.json'
修复它:
sudo chown yourusername:yourusername /home/yourusername/.config/configstore/update-notifier-cordova.json
之后,你可以愉快地运行没有sudo的npm install -g cordova
,而不会遇到权限冲突,如果某些东西完全被破坏而你想从头开始,你需要做的就是删除你的〜/ .node目录
希望这有帮助!
答案 2 :(得分:0)
在终端中运行以下命令:
导出 PATH = $ {PATH}:/ Users / Document / Android-sdk / tools:/ Users / Documents / Android-sdk / platform-tools
答案 3 :(得分:-1)
您可能也会收到此错误
Error: EACCES: permission denied, open '/home/yourusername/.cordova/lib/npm_cache/cordova-android/5.1.1/package/.npmignore'
修复它使用此命令
sudo chown -R yourusername:yourusername /home/{username}/.cordova/lib/npm_cache/cordova-android/5.1.1/package