在Linux上为Android构建Ionic应用程序失败,退出代码为2:无法找到' ANDROID_HOME'

时间:2015-11-06 10:31:23

标签: android cordova ubuntu build ionic-framework

我试图在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 SDK,其中包含当前可用的所有平台目标(以及Android SDK工具,平台工具和构建工具)
  • npm 3.3.9和节点4.2.2已安装
  • Cordova 5.3.3通过npm
  • 安装
  • Ionic 1.7.7通过npm
  • 安装
  • Apache Ant 1.9.3

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)

  

1 个答案:

答案 0 :(得分:5)

修正了它:

是权限问题

sudo chown -R $(whoami) /home/user3123726/.cordova

赋予cordova权利

并且做了

离子添加平台android

离子构建android

没有sudo;)