我试图在Linux / Ubuntu 14.04 for Android上构建默认示例应用。
执行 sudo ionic build android :
时收到标准错误消息无法找到' ANDROID_HOME'环境变量。尝试手动设置。
(请参阅下面的完整记录)
但如果我这样做
回显$ ANDROID_HOME&& echo $ JAVA_HOME&& echo $ ANT_HOME
/家庭/ user3123726 /的Android / SDK
/ usr / lib中/ JVM / JAVA -8-预言
的/ usr /斌/蚂蚁
并且命令android和cordova也可用。
ANDROID_HOME也在.bashrc上定义:
export ANDROID_HOME = / home / user3123726 / Android / Sdk
export PATH = $ {PATH}:/ home / user3123726 / Android / Sdk / platform-tools:/ home / user3123726 / Android / Sdk / tools
我不知道构建过程失败的原因是什么。任何帮助表示赞赏 - 谢谢!
这里创建离子项目的完整日志(基本上是创建,添加平台和构建):
离子启动myApp标签
下载:https://github.com/driftyco/ionic-app-base/archive/master.zip
[=============================] 100%0.0s
下载:https://github.com/driftyco/ionic-starter-tabs/archive/master.zip
[=============================] 100%0.0s
更新了钩子 具有执行权限的目录更新Config.xml正在初始化 科尔多瓦项目
您的离子项目已准备就绪!一些快速提示:[...缩短]
cd myApp
sudo ionic platform添加android
更新了hooks目录以具有执行权限
下载默认离子资源
下载:https://github.com/driftyco/ionic-default-resources/archive/master.zip
[=============================] 100%0.0s
完成添加默认的离子资源
为平台添加图标:android
添加android项目......
为Android平台创建Cordova项目:
路径:platforms / android
包装:com.ionicframework.myapp809922
名称:myApp
活动:MainActivity
Android目标:android-22
复制模板文件......
使用cordova-android@4.1.1创建的Android项目
运行命令: /home/user3123726/testing/myApp/hooks/after_prepare/010_add_platform_class.js / home / user3123726 / testing / myApp
添加到body类:platform-android
将平台保存到package.json文件
sudo ionic build android
运行命令:/home/user3123726/testing/myApp/hooks/after_prepare/010_add_platform_class.js / home / user3123726 / testing / myApp
添加到body类:platform-android
运行命令:/ home / user3123726 / testing / myApp / platforms / android / cordova / build
[错误:无法找到' ANDROID_HOME'环境变量。尝试手动设置它。
无法找到' android'命令在你的路径中#39;尝试更新你的路径'包含有效SDK目录的路径。]
ERROR构建其中一个平台:错误:/ home / user3123726 / testing / myApp / platforms / android / cordova / build:命令失败,退出代码为2
您可能没有构建此项目所需的环境或操作系统
错误:/ home / user3123726 / testing / myApp / platforms / android / cordova / build:命令失败,退出代码为2
在ChildProcess.whenDone上(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
在emitTwo(events.js:87:13)
在ChildProcess.emit(events.js:172:7)
at maybeClose(internal / child_process.js:818:16)
在Process.ChildProcess._handle.onexit(internal / child_process.js:211:5)
答案 0 :(得分:5)
修正了它:
是权限问题
sudo chown -R $(whoami) /home/user3123726/.cordova
赋予cordova权利
并且做了
离子添加平台android
离子构建android
没有sudo;)