找不到“ANDROID_HOME”环境变量
Posted
技术标签:
【中文标题】找不到“ANDROID_HOME”环境变量【英文标题】:Failed to find 'ANDROID_HOME' environment variable 【发布时间】:2016-07-11 22:10:49 【问题描述】:我正在尝试构建一个 ionic-android 项目,并且我已经安装了 android sdk。
我的项目名称是myApp。我已成功将android平台添加到myApp。但是当我尝试构建项目时
~/myApp$ sudo ionic build android
结果是
Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
add to body class: platform-android
ERROR building one of the platforms: 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.
You may not have the required environment or OS to build this project
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.
查看 ANDROID_HOME 和 PATH 变量
echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin
我见过几乎相同类型的堆栈溢出问题,但没有一个对我有用。我的 android-sdk 配置有什么问题吗?我该如何构建这个项目?
【问题讨论】:
您的 ANDROID_HOME 看起来更像一个 PATH。当你回显时,它应该只返回/home/hari/Android/Sdk
(假设这是正确的)
查看我对 [此问题](***.com/questions/35110403/…) 的回答,它会为您解决问题
每次打开终端都要输入这个,怎么持久化?
@LukeFlournoy 查看this answer 的“先验事项”(第 1 步和第 2 步)
【参考方案1】:
您可能需要确认您的开发环境已正确设置。
引用spring.io:
设置 Android 开发环境
在构建 Android 应用程序之前,您必须安装 安卓 SDK。安装 Android SDK 也会安装 AVD Manager, 用于创建和管理 Android Virtual 的图形用户界面 设备 (AVD)。
从Android web site,下载 适用于您的操作系统的正确版本的 Android SDK。
将存档解压缩到您选择的位置。例如,在 Linux 或 Mac 上,您可以将其放在用户目录的根目录中。看 Android Developers 网站了解更多安装细节。
根据 Android SDK 的位置配置
ANDROID_HOME
环境变量。此外,考虑添加ANDROID_HOME/tools
和ANDROID_HOME/platform-tools
到您的 PATH。Mac OS X
export ANDROID_HOME=/<installation location>/android-sdk-macosx export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Linux
export ANDROID_HOME=/<installation location>/android-sdk-linux export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
窗口
set ANDROID_HOME=C:\<installation location>\android-sdk-windows set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
Android SDK 下载不包括特定的 Android 平台。 要运行本指南中的代码,您需要下载并安装 最新的 SDK 平台。您可以使用 Android SDK 和 AVD 您在上一节中安装的管理器。
打开 Android SDK 管理器窗口:
android
注意:如果该命令没有打开Android SDK Manager, 那么你的路径配置不正确。
选中工具复选框。
选中最新的 Android SDK 的复选框。
在 Extras 文件夹中,选中 Android 支持库 的复选框。
点击Install packages...按钮完成下载和安装。
注意:您可能想要安装所有可用的更新,但要 请注意,这将需要更长的时间,因为每个 API 级别的下载量都很大。
【讨论】:
in no 3(配置 ANRDOID_HOME 变量):这应该在哪个文件中? @suMi 您根据您的操作系统从终端运行导出命令,并根据您保存 SDK 的位置更改您设置的ANDROID_HOME
等于的 PATH。有关详细信息,请参阅***.com/questions/19986214/…。
@suMI 如果您希望永久更改,如果您使用的是 linux 或 mac,请将这些行添加到您的 .bashrc 中。
如果有人从 teamcity 构建时遇到此问题,您需要在 teamcity 上为 ANDROID_HOME 创建环境参数。
/android-sdk-linux
、tools
和 platform-tools
是什么?我在/opt/android-studio
中没有看到这样的目录。我的 android Studio 正在运行,但我没有那些目录。【参考方案2】:
在 Linux 中
首先在 .bashrc 文件中设置 ANDROID_HOME
运行命令
sudo gedit ~/.bashrc
设置你安装的andoid sdk路径
export ANDROID_HOME=/opt/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
重新加载文件运行命令
source ~/.bashrc
现在检查安装的平台,运行命令
ionic platform
输出
Installed platforms:
android 6.0.0
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
blackberry10 ~3.8.0
browser ~4.1.0
firefoxos ~3.6.3
ubuntu ~4.3.4
webos ~3.7.0
如果已经安装了android,则需要删除并重新安装
ionic platform rm android
ionic platform add android
如果尚未安装,请添加android平台
ionic platform add android
请确保您添加了没有 sudo 命令的 android 平台
如果您在添加 android 平台时仍然遇到错误,如下所示
错误:EACCES:权限被拒绝,打开 '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'
请到 /home/ubuntu/ 并从那里删除 .cordova 文件夹
cd /home/ubuntu/
sudo rm -r .cordova
现在再次运行以下命令
ionic platform add android
成功添加平台后,您将能够在 ionic 中构建 Android。
谢谢
【讨论】:
从 3.0.0 版开始是ionic cordova platform add android
。【参考方案3】:
您需要遵循以下步骤才能成功设置您的 Ionic 项目以使用 android 模拟器:
-
创建一个 Ionic 项目:离子启动 appName 选项卡(用于选项卡主题)
cd 应用名称
离子设置 sass
要在网络上启动应用程序:ionic serve
添加安卓平台:
先验
首先您需要设置环境变量。为此,您需要考虑 3 个文件:
1. ~/.profile(用于在每次终端打开或计算机启动时设置变量):
//最后需要附加的代码
set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
2。 /etc/environment(设置环境变量):
//文件的所有内容
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>
3. /etc/profile:
//最后需要添加的代码
JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
要加载对文件所做的上述更改,您需要运行以下命令:
source ~/.profile
source /etc/environment
source /etc/profile
后世事物
1.添加平台:ionic platform add android(注意此命令需要不带sudo运行)
2.如果您在上述命令中仍然遇到错误,请执行以下操作:(此处 appName = helloWorld)
cd ..
sudo chmod -R 777 helloWorld
cd helloWorld
ionic platform add android
If you are still getting the error then remove ".cordova" folder from the home directory of your PC.
3. 要在您的 android 模拟器中运行应用程序:ionic run android
谢谢!
【讨论】:
谢谢 Nikhil,它也对我有用。在尝试了很多事情之后 - 它与您提供的上述步骤一起工作:-) 在将 Java 和 android 变量添加到 /etc/environment 后,我最终遇到了“登录循环”问题。幸运的是,我能够从终端登录(ctrl+alt+F3)中删除它,现在登录正常了。【参考方案4】:我之前遇到过这个问题。
您需要将sdks\tools
和sdks\build-tools
添加到您的环境路径中。
【讨论】:
【参考方案5】:对于那些在 Windows 上拥有便携式 SDK 版本的用户,只需将以下 2 个路径添加到您的系统。
F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools
这对我有用。
【讨论】:
我想知道为什么我的回答被否决了。有没有可能有这个动作的原因? 因为你没有说如何添加它们? 没错,您没有指定如何执行该过程。【参考方案6】:2019 年 4 月 11 日
以上答案都没有解决我的问题,所以我想为使用 Ubuntu 18.04 的人提供一个当前的解决方案(截至 2019 年 4 月)。这就是我解决上述问题的方法......
-
I installed the Android SDK from the website, 并将其放在此文件夹中:
/usr/lib/Android/
搜索 SDK 的安装位置和版本。就我而言,它在这里:
/usr/lib/Android/Sdk/build-tools/28.0.3
注意:我使用的是 28.0.3 版本,您的版本可能不同。
将ANDROID_HOME
添加到环境路径。为此,请使用文本编辑器打开 /etc/environment:
sudo nano /etc/environment
为您的特定版本和路径添加ANDROID_HOME
行。在我的情况下是:
ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"
最后,通过source /etc/environment
获取更新的环境
通过在终端中尝试:echo $ANDROID_HOME
来确认这一点。你应该得到你新创建的变量的路径。
关于采购的另一个注意事项是,我确实必须重新启动计算机才能让 VScode 终端识别我的更改。重新启动后,环境设置好了,从那以后我没有任何问题。
【讨论】:
关键字:重启【参考方案7】:执行:sudo gedit ~/.bashrc
add
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
和
source ~/.bashrc
【讨论】:
【参考方案8】:我想分享一个答案,该答案还演示了使用 Ubuntu 存储库提供的 Android SDK 的方法:
安装 Android SDK
sudo apt-get install android-sdk
导出环境变量
export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="$PATH:$ANDROID_HOMEtools/:$ANDROID_HOMEplatform-tools/"
【讨论】:
【参考方案9】:要在 ubuntu 20.04 上设置 ANDROID_HOME 环境,请访问 Ubuntu 的 snap store 并安装 Android studio 然后打开
vim $HOME/.bashrc
并设置环境变量如下:
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
使用最新版本的 Android Studio 将 ANDROID_HOME 替换为 ANDROID_SDK_ROOT 否则构建会抱怨 ANDROID_HOME 已弃用。
【讨论】:
【参考方案10】:从谷歌来到这里寻找相同的问题并浪费了 4 个小时来找出可能出了什么问题。现在我在发布这个答案时感到非常愚蠢。在我的例子中,SDK、JDK、JRE、Ant 和其他所有东西都是在前一天安装并运行的。
但是只有一个特定的项目给了我这个问题。这个位于 “C:\Users\Name\Documents” 位置
很快我意识到我是以普通用户身份运行 cmd,只要我选择“以管理员身份运行”,一切都开始工作了。
提示:始终仔细考虑项目位置!
【讨论】:
【参考方案11】:这解决了我的问题。将以下添加到您的系统路径
PATH_TO_android\platforms
PATH_TO_android\platform-tools
【讨论】:
【参考方案12】:我在 windows7 计算机上遇到了这个问题:运行 ionic serve 时计算机关闭(我假设这是破坏一切的问题)
完全删除节点并在新的节点副本上重新安装所有内容
【讨论】:
【参考方案13】:在 Windows 中,如果您从 VS 代码终端运行此命令,并且即使在设置了所有环境变量(即构建工具、平台工具、工具)之后,尝试从外部 cmd 终端运行相同的命令也无法正常工作. 就我而言,即使在启动新的 VS 代码终端后,它也无法采用更新后的环境路径。
当我从 Windows cmd 运行相同的命令时它起作用了。
【讨论】:
【参考方案14】:我在 MAC catalina 10.15 上遇到了同样的问题,当您在终端上回显时,无法识别您在 .bash_profile 中添加的内容,它是临时存储的。建议永久使用 .zprofile 并在其中添加所有环境变量。尝试 5 小时后,我找到了这个解决方案。希望它对某人有用。
vi .zprofile
insert(press i)
export ANDROID_HOME=/Users/mypc/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
after adding environment variables press esc
then enter :wq!
try echo $ANDROID_HOME in new tab(it will not be empty) path will be
printed
【讨论】:
【参考方案15】:花了将近几个小时没有睡觉搜索所有内容以在我的android设备上安装apk进行调试,但由于ADP ENONET
而无法安装apk。
"adb reverse": spawnSync Users/shanu/Library/Android/sdk/platform-tools/adb ENOENT
解决方案非常简单,字面意思,我已经在.bash_profile, .zshrc, environment, ~/.profile
等中添加了变量,几乎尝试了所有解决方案但无法解决。
这个错误很小。
而不是像这样(正确)在我的 bash_profile 文件中添加。
export ANDROID_HOME=/Users/shanu/Library/Android/sdk
export PATH=$PATH:/Users/shanu/Library/Android/emulator
export PATH=$PATH:/Users/shanu/Library/Android/sdk/tools
export PATH=$PATH:/Users/shanu/Library/Android/sdk/tools/bin
export PATH=$PATH:/Users/shanu/Library/Android/sdk/platform-tools
我正在添加类似这样的内容,这在我的情况下是错误的。
export ANDROID_HOME=Users/shanu/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
可能会有所帮助:在 package.json
内部添加这样的 yarn android
命令
"android": "source ~/.bash_profile&&react-native run-android"
【讨论】:
【参考方案16】:按照其他答案中的建议更新路径和环境变量后,有时您只需重新启动计算机即可。我花了 24 多小时才用完所有选项并重新启动。
【讨论】:
【参考方案17】:我也遇到了同样的问题,我就是这样解决的。
打开终端
cd 到 eclipse.app 所在的文件夹 E.g cd /Users/Shared/eclipse/jee-2020-09
输入open Eclipse.app/
Eclipse 现在将打开,并且还可以访问系统环境变量。
使用代码检查:
System.getenv().forEach((k, v) ->
System.out.println("ENV : " + k + ":" + v);
);
【讨论】:
以上是关于找不到“ANDROID_HOME”环境变量的主要内容,如果未能解决你的问题,请参考以下文章
Ionic android 构建错误 - 找不到“ANDROID_HOME”环境变量
Meteor - 安装 android 平台找不到 ANDROID_HOME 变量