【问题标题】:Ionic android build Error - Failed to find 'ANDROID_HOME' environment variableIonic android 构建错误 - 找不到“ANDROID_HOME”环境变量
【发布时间】:2015-12-10 00:34:38
【问题描述】:

我正在尝试在 linux 中为 ionic 构建 android,但它向我显示了这样的错误

     [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/kumar/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/kumar/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)

我已经在我的 bashrc 文件中添加了这个

export ANT_HOME="/usr/bin/ant"
export PATH="$PATH:$ANT_HOME/bin"
export HOME="/home/kumar"
export ANDROID_HOME="$HOME/android-sdk-linux/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/android-sdk-linux/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"

我在想我已经给出了路径,但我不知道为什么它向我显示这个错误..请帮助....

【问题讨论】:

  • 你使用的是ubuntu系统吗:?
  • 请按照本教程link对您有帮助,我按照本教程仅用于安装Ionic框架
  • 你检查过链接吗?
  • 现在我正在检查它。谢谢..希望它有效..
  • 嗯,欢迎,我会写这个答案,请接受并投票

标签: android linux cordova ionic-framework ionic


【解决方案1】:

Android Home 应该是 SDK 的根目录。

export ANDROID_HOME="$HOME/android-sdk-linux"

编辑:打开终端并输入这些命令。 (是的,在 ternimal 上,不在 bashrc 文件中)

export ANDROID_HOME=~/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools    

然后在同一个终端中输入android。如果已配置,您将能够从该终端使用构建命令。 (这是一个临时解决方案)

【讨论】:

  • 更改了它,但仍然遇到同样的问题。
  • 尝试在您的终端上执行source ~/.bashrc
【解决方案2】:

对于 OSX

  • 进入~/.bash_profile添加:

    export ANDROID_HOME="/path/to/android-sdk-macosx"
    export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
    

    然后在终端执行,立即生效;

  • 进入/etc/sudoers添加:(可以使用控制台:sudo visudo

    Defaults        env_keep += "ANDROID_HOME"
    

    因为构建过程必须从sudo 和Node 的process.env 开始获取各自的变量。

【讨论】:

    【解决方案3】:

    案例:使用 SO Windows,尝试:

    set ANDROID_HOME=C:\\android-sdk-windows
    set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
    

    更多内容:http://spring.io/guides/gs/android/

    案例:您没有平台工具:

    cordova platforms list
    cordova platforms add <Your_platform, example: Android>
    

    【讨论】:

      【解决方案4】:

      Linux/Ubuntu/Mint 设置

      1. 仅下载 Android Studio 或 SDK
      2. install
      3. 设置路径

      3.1) 打开终端并编辑~/.bashrc

      sudo su
      vim ~/.bashrc
      

      3.2) 导出 ANDROID_HOME 并将带有二进制文件的文件夹添加到您的 PATH

      常见的默认安装文件夹:

      • /root/Android/Sdk
      • ~/Android/Sdk

      例如.bashrc

      export ANDROID_HOME=/root/Android/Sdk
      PATH=$PATH:$ANDROID_HOME/tools
      PATH=$PATH:$ANDROID_HOME/platform-tools
      

      3.3) 刷新你的路径

      source ~/.bashrc
      

      4) 安装正确的 SDK

      ionic build android 仍然失败时,可能是因为错误 sdk 版本。要安装正确的版本和映像,请运行 android 从 命令行。由于它现在在您的 PATH 中,您应该能够运行 它来自任何地方。

      【讨论】:

      • 对我来说,它是作为我当前用户安装的,所以将/root替换为~
      【解决方案5】:

      下载安卓 SDK http://developer.android.com/sdk/installing/index.html

      你只导出SDK文件夹的路径。

      export ANDROID_HOME="YOUR_PATH/sdk/"

      【讨论】:

        【解决方案6】:

        上面的答案已经很好地解释了该过程。但是,如果将ANDROID_HOMEPATH 添加到/home/username/ 中的.bashrc.zshrc 并尝试使用sudo 运行ionic 命令,您可能会再次遇到此错误。

        原因是,它可能会在root用户的.zshrc文件中查找ANDROID_HOMEPATH,而不是当前登录的用户。所以你不应该这样做,除非你将它添加到 root 用户的 .bashrc.zshrc 文件中。

        【讨论】:

        • 将近 1 小时,我一次又一次地浪费了设置 .bashrc,却不知道这需要在 root 用户 bashrc 中设置。谢谢陌生人
        【解决方案7】:

        我在以 root 身份运行 sudo ionic run android 时遇到了这个问题,因为这些环境变量没有持久化。通过运行sudo -E ionic run android 修复。

        【讨论】:

        • 感谢@D_plus_plus,但导致问题的原因
        【解决方案8】:

        Windows - 永久设置环境变量:

        setx ANDROID_HOME "C:\Program Files\Android\android-sdk"

        setx ANDROID_HOME "C:\Program Files (x86)\Android\android-sdk"

        【讨论】:

          【解决方案9】:

          您只需像这样编辑您的个人资料文件:

          sudo su
          vim ~/.profile
          

          并将其放在文件末尾:

          export ANDROID_HOME=/home/(user name)/Android/Sdk
          export PATH=$PATH:/tools
          export PATH=$PATH:/platform-tools
          

          保存并关闭文件并执行:

          cd ~
          source .profile
          

          现在如果你这样做:

          echo $ANDROID_HOME
          

          它应该向您显示如下内容:

          /home/(user name)/Android/Sdk
          

          【讨论】:

            【解决方案10】:

            对于 OSX

            这里有很棒的教程: https://www.youtube.com/watch?v=kY22NSBwV_s

            无需执行任何 bash 命令/符号链接:

            1. 安装 Java 6 运行时:https://support.apple.com/kb/DL1572?locale=de_DE
            2. 安装 Java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

            【讨论】:

              【解决方案11】:

              在我的情况下:我已经为 Android 和 java 设置了正确的路径,但仍然出现错误。

              问题是我使用 sudo 命令添加了 Android 平台。sudo ionic cordova platform android

              解决我的问题: 首先,我通过运行命令删除了平台 android

              sudo ionic cordova platform rm android

              然后在没有 sudoionic cordova platform add android 的情况下再次添加 android 平台 但我得到了权限错误。

              解决错误运行命令

              sudo chmod -R 777 {你的项目路径}

              在我的情况下sudo chmod -R 777 ~/codebase/IonicProject 然后运行命令

              ionic cordova 平台添加android

              离子科尔多瓦运行安卓

              【讨论】:

                【解决方案12】:

                永久添加 ANDROID_HOME 值

                gedit ~/.bashrc
                

                并添加以下行

                export ANDROID_HOME=/root/Android/Sdk
                PATH=$PATH:$ANDROID_HOME/tools
                

                保存文件,您无需每次都更新 ANDROID_HOME 值。

                【讨论】: