从 Windows 开始,您可以轻松地将 Android Studio 的 JRE 现在的 JBR 目录添加到 jarsigner 和 keytool 等可执行文件所在的环境变量路径中。我尝试在 macOS 中执行相同的操作,但使用符号链接作为我在网络上看到的建议方法。
首先我将目录复制到剪贴板
/Applications/Android Studio Preview.app/Contents/jbr/Contents/Home/bin
然后按照这个SOanswer并执行以下命令
sudo ln -s /Applications/Android Studio Preview.app/Contents/jbr/Contents/Home/bin /usr/local/bin
我已经回显了
$PATH
并发现了usr/local/bin
所以我跳过了mkdir部分。
不幸的是它不起作用并且似乎坏了。
这就是我所看到的
user@User-MacBook-Pro ~ % ls -la /usr/local/bin/
total 354896
drwxr-xr-x 9 root wheel 288 Aug 9 02:31 .
drwxr-xr-x 6 root wheel 192 Aug 8 01:12 ..
lrwxr-xr-x 1 root wheel 21 Aug 9 02:31 Android -> /Applications/Android
lrwxr-xr-x 1 root wheel 6 Aug 9 02:31 Studio -> Studio
lrwxr-xr-x 1 root wheel 42 Aug 9 02:31 bin -> Preview.app/Contents/jbr/Contents/Home/bin
lrwxr-xr-x 1 root wheel 45 Aug 8 02:39 corepack -> ../lib/node_modules/corepack/dist/corepack.js
-rwxr-xr-x 1 root wheel 181706736 Jul 18 20:09 node
lrwxr-xr-x 1 root wheel 38 Aug 8 02:39 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x 1 root wheel 38 Aug 8 02:39 npx -> ../lib/node_modules/npm/bin/npx-cli.js
出了什么问题以及如何修复?
经过几个小时的搜索,我终于从这个SOanswer
中得到了我想要的东西首先检查java_home是否在/usr/libexec
然后检查/Library/Java/JavaVirtualMachines目录是否存在
确认后,获取或复制 Android Studio JBR 路径(在我的例子中,这是 /Applications/Android Studio Preview.app/Contents/jbr
)注意到路径中有空格,你可以做的是添加转义符或用双引号包裹整个路径。
请小心使用双引号 ",因为从启用了智能引号替换的应用程序行注释复制时,它会将您的常规引号更改为“左双引号。
然后您将使用此命令来创建符号链接,而不是将其复制粘贴到 JavaVirtualMachines 文件夹中。
sudo ln -s "/Applications/Android Studio Preview.app/Contents/jbr" /Library/Java/JavaVirtualMachines
成功后执行此命令
export JAVA_HOME=$(/usr/libexec/java_home)
您现在应该能够运行 JRE 或 JBR bin 中可用的命令,例如 keytools 和 jarsigner。