我正在尝试使用 ionic 框架构建 android apk。 当我输入以下命令 sudo ionic build android 时,出现以下错误 “错误:无法找到 'ANDROID_HOME' 环境变量。尝试手动设置它。 无法在“路径”中找到“android”命令。尝试更新您的“路径”以包含有效 SDK 目录的路径。 “。
但是当我通过输入 "echo $ANDROID_HOME" 检查 ANDROID_HOME 变量时,我得到了有效的 SDK 路径(例如/home/ttnd/android-sdk-linux )。
在下面找到我包含在 bashrc 文件中的配置,
导出 ANDROID_HOME=/home/ttnd/android-sdk-linux
导出 PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools 。
我已经检查了网络上所有可能的链接,但仍然无法找到问题。
最佳答案
问题是 sudo 命令的执行环境与调用环境不同。换句话说,您的环境变量不会被传入。
您可以通过在 sudo 命令中添加 -E
选项来解决此问题。使用该选项可能会存在一些安全问题,并且您的特定系统可能会阻止您使用它。以下是我的 sudo 手册页版本的简介:
The -E (preserve environment) option indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the -E option is specified and the user does not have permission to preserve the environment.
解决这个问题的另一种方法是将环境变量包含在 sudo 命令中。像这样的事情:
sudo ANDROID_HOME=$ANDROID_HOME PATH=$PATH ionic build android
第三种方法是运行 sudo visudo
并添加您想要包含在 sudo 运行环境中的变量。
关于android - 错误: Failed to find 'ANDROID_HOME' environment variable when building apk using ionic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39218922/