Android 未能找到';安卓家庭';Windows 10 Linux子系统中的环境变量
我正在尝试运行ionic cordova build--发布android,但出现了以下错误:Android 未能找到';安卓家庭';Windows 10 Linux子系统中的环境变量,android,cordova,ionic-framework,Android,Cordova,Ionic Framework,我正在尝试运行ionic cordova build--发布android,但出现了以下错误: CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
我使用的是Windows 10,但我使用的是linux子系统(我也使用所有的linux命令等等)
我查看了我的系统变量,并输入了适用于Windows的Android SDK内容,如下所示:
但是当我回到bash/shell时,当我执行echo$ANDROID\u HOME时,它不会显示我设置的路径。我是否应该安装Android SDK for linux,并让它指向这一点?或者有没有什么方法可以让这个安卓主页路径指向我的C:/drive,因为我认为当我“m在linux子系统上这是因为linux子系统环境变量与Windows环境变量分开,除了从Creator Update开始默认共享的路径 在这种情况下,您必须向linux环境变量添加
ANDROID\u HOME
。一种方法是将其添加到~/.bashrc
nano ~/.bashrc
将以下代码添加到文件末尾
export ANDROID_HOME="/mnt/c/Users/<user_name>/AppData/Local/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools"
现在,您将能够从linux子系统运行android sdk工具,尽管有一个警告,您必须为每个工具添加.exe
。例如:
adb --> won't work
adb.exe --> works
所以我写了一个很大的答案,不知为什么我找不到。我不知道它是否没有被发布或者发生了什么。所以,我们要写我之前写的东西 默认情况下,Windows和Windows子系统Linux不共享任何环境变量。但有一种方法可以在这两者之间自动共享变量,如下文所述 默认情况下,您的
c:\
映射到/mnt/c
。现在你有两个选择
外壳环境
您可以更新~/.bashrc
或~/.bash\u配置文件
(以您使用的为准)并导出变量
export ANDROID_HOME="/mnt/c/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools"
共享环境
Windows创建了一个名为WSLENV
的特殊环境变量。此环境变量可用于在两个环境之间共享变量,并且它还将自动转换路径。在我们潜入一些特殊的旗帜之前
- /p:此标志指示应在WSL路径和Win32路径之间转换路径李>
- /l:此标志表示该值是路径列表。在WSL中,它是以冒号分隔的列表。在Win32中,它是以分号分隔的列表李>
- /u:此标志指示仅当从Win32调用WSL时才应包含该值。在下面的示例中,我们从cmd设置了WSL,它将显示在WSL中
- /w:此标志指示仅当从WSL调用Win32时才应包含该值
WSLENV=ANDROID_HOME/p
上面说的
ANDROID\u HOME
应该在WSL和Windows之间共享,而/p
表示应该自动共享。这是保持一切同步的推荐方法添加环境变量后是否重新启动了cmd?是的,我在Windows 10上重新启动了“bash for ubuntu”,并重新启动了Webstorm(内置了bash)。然而,这两次echo$ANDROID\u HOME都是空白的,。。任何答案都有帮助吗?可能是将windows环境变量部分(C:\
)转换为linux路径(\mnt\C
)的问题。有关更多信息,请参阅。我建议您要么切换到windows cmd或PowerShell,要么在WSL上重新安装Java。如果您有linux子系统,请参阅此链接,在子系统上安装linux版本的sdk不是更好吗?是的,这非常有效,尽管对我来说它在/mnt/c/Users//AppData/Local/Android/sdk中$
WSLENV=ANDROID_HOME/p