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_HOME
和PATH
添加到/home/username/
中的.bashrc
或.zshrc
并尝试使用sudo
运行ionic
命令,您可能会再次遇到此错误。
原因是,它可能会在root用户的.zshrc
文件中查找ANDROID_HOME
和PATH
,而不是当前登录的用户。所以你不应该这样做,除非你将它添加到 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 找不到 android_sdk_root,无法在手机上构建应用程序
ionic 3 - 错误在 Android Studio 中也找不到安装的 Gradle 版本
错误:在 Ionic 3 中找不到 org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25