Ionic android 构建错误 - 找不到“ANDROID_HOME”环境变量

Posted

技术标签:

【中文标题】Ionic android 构建错误 - 找不到“ANDROID_HOME”环境变量【英文标题】:Ionic android build Error - Failed to find 'ANDROID_HOME' environment variable 【发布时间】: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框架 你检查过链接吗? 现在我正在检查它。谢谢..希望它有效.. 嗯,欢迎,我会写这个答案,请接受并投票 【参考方案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 设置

    仅下载 Android Studio 或 SDK install 设置路径

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 命令/符号链接:

    安装 Java 6 运行时:https://support.apple.com/kb/DL1572?locale=de_DE 安装 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 值。

【讨论】:

以上是关于Ionic android 构建错误 - 找不到“ANDROID_HOME”环境变量的主要内容,如果未能解决你的问题,请参考以下文章

找不到 play-services-auth-base-license.aar - Ionic android 构建失败

Ionic iOS 构建失败,找不到错误存档

Ionic 找不到 android_sdk_root,无法在手机上构建应用程序

ionic 3 - 错误在 Android Studio 中也找不到安装的 Gradle 版本

Ionic 3:在“prod”模式下构建:找不到模块“。”

错误:在 Ionic 3 中找不到 org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25