无法在 Flutter 上找到捆绑的 Java 版本

sha*_*ine 68 flutter

我有 Android Studio 3.0 版。当我使用命令“flutter doctor”时,它显示“无法找到捆绑的 Java 版本”。我当前的 java 版本是 (build 1.8.0_131-b11)。

eja*_*eja 399

正确的做法

简而言之,解决此问题的最佳方法是将 Android Studio 和 Flutter 升级到最新版本,以避免将来出现任何潜在问题(例如修补)。

原答案

对于那些在最新 Android Studio - Electric Eel 版本以及其他金丝雀和预览版本中遇到这些问题的用户,请注意,jreAndroid Studio 安装文件夹中的捆绑目录现已重命名为jbr

要解决这个问题,只需创建一个符号链接jre-> jbr,Flutter 就不会抱怨。

在 Linux 上

cd ~/android-studio/ && ln -s jbr jre
Run Code Online (Sandbox Code Playgroud)

Windows(检查安装文件夹)

cd C:\Program Files\Android\Android Studio
mklink /D "jre" "jbr"
Run Code Online (Sandbox Code Playgroud)

或者

New-Item -ItemType SymbolicLink -Path .\jre -Target .\jbr
Run Code Online (Sandbox Code Playgroud)

苹果系统

cd /Applications/Android\ Studio.app/Contents
ln -s jbr jre
Run Code Online (Sandbox Code Playgroud)

请注意,如果您运行的是预览版本,并且根据您的操作系统,默认安装目录可能会有所不同,例如在 Linux 上,它会是

~/android-studio-preview/
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,您都可以通过运行来检查安装目录

flutter doctor -v
Run Code Online (Sandbox Code Playgroud)

此外,如果您在运行时遇到权限问题,您可以尝试使用管理员权限运行命令,具体取决于您的操作系统。

例如,在 Mac/Linux 上,您只需运行相同的命令即可sudo,它应该可以工作,此外,在 Mac 上,您必须配置磁盘访问权限,具体取决于您的版本,但最有可能可以在以下位置找到:

Settings - Privacy & Security - Full Disk Access - Terminal

  • 在 Windows 上,flutter doctor 在最新的 Android Studio(即 Electric Eel)中抛出此错误 | 2022年1月1日。然而对我来说,jre 文件夹已经存在于 C:\Program Files\Android\Android Studio 下,其中只包含一个文件 \jre\bin\.marker。我将现有的 jre 文件夹重命名为 jre_old,然后通过以下命令创建了符号链接。问题解决了!cd C:\Program Files\Android\Android Studio mklink /D "jre" "jbr" (31认同)
  • @VanditShah 在 `settings>privacy & security>full disk access>terminal` 中为终端提供完整磁盘访问权限,然后使用 `sudo` 调用命令 (11认同)
  • 对于开发团队更改目录名称有任何来源或评论吗?在过去的一个小时里我一直在抓着我的头发重新安装并浏览目录试图找出问题所在,谢谢 (9认同)
  • 兄弟,Mac上不允许执行在jbr和jre之间创建符号链接的操作,请帮忙 (9认同)
  • 这帮助了我很多时间。附言。对于那些在 Windows 上运行 `mklink /D "jre" "jbr"` 时出现“访问被拒绝”错误的用户,只需以管理员身份运行 CMD 即可。 (5认同)

GAY*_*ARI 205

对于 Windows 用户:

转到,然后复制jbrC:\Program Files\Android\Android Studio的内容并将其粘贴到jre文件夹中。

再次运行flutter doctor即可解决问题。

(我运行的是Android studio 2022.1)


Nal*_*uza 194

对于Mac的用户

使用下面的文章设置 Java_Home 路径,然后应用下面的命令

https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/#what-is-usrlibexecjava-home

在终端上键入以下命令之后

cd /Applications/Android\ Studio.app/Contents/jre
ln -s ../jre jdk
ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
flutter doctor -v
Run Code Online (Sandbox Code Playgroud)

编辑#1:

对于正在使用 的 Mac 用户JetBrains Toolbox,这里是解决方案:

使用下面的文章设置 Java_Home 路径,然后应用下面的命令

https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/#what-is-usrlibexecjava-home

在终端上键入以下命令之后

更改username为您的 macOS 用户名

cd /Users/username/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android Studio.app/Contents/jre
ln -s ../jre jdk
ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
flutter doctor -v
Run Code Online (Sandbox Code Playgroud)

  • Android Studio 北极狐 2020.3.1 更新后完美解决 (19认同)
  • 如果您不允许,请转到此处https://osxdaily.com/2018/10/09/fix-operation-not-permissed-terminal-error-macos/ (4认同)
  • 我正在使用 `JetBrains Toolbox`,它将 Android Studio 安装在不同的目录中,该目录是 `/Users/username/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android Studio.app`。我将编辑您的精彩答案,以确保它支持所有 macOS 用户。你的解决方案很棒。 (3认同)
  • 有人给这家伙一枚奖牌……谢谢老兄:) (3认同)
  • 7 月 30 日更新到 Android Studio Arctic Fox 2020.3.1 后与我一起工作。谢谢 (2认同)
  • “sudo ln -s jbr jre”给了我“ln:jre:不允许操作”,所以我只是复制了 jbr 文件夹并将其重命名为 jre (2认同)

Bab*_*rma 81

对于 Windows: 如果您使用的是 Windows,请转到此目录 C:\Program Files\Android\Android Studio 并检查较旧的 Android Studio 文件夹是否存在(如果存在),请将其删除。它会起作用的。


Boa*_*ges 57

对于 Mac 用户

确保你已经安装了java并设置了java_home路径,你可以使用homebrew来实现。

如果您安装了Android Studio Electric Eel请按照以下步骤操作

  1. 转到您的应用程序文件夹。
  2. 搜索 Android Studio.app。(flutter doctor -v还有一个Android Studio条目将显示应用程序位置)
  3. 右键单击并选择显示包内容。
  4. 导航到打开的内容文件夹。
  5. 使用终端 cd 进入该文件夹,然后输入以下命令,一切都应该得到解决
ln -s jbr jre
Run Code Online (Sandbox Code Playgroud)

上面的命令创建了一个符号链接

符号链接也适用于 Ubuntu。

  • 电鳗为何突然出现这种情况?以前没出现过这个问题,最近才出现。 (3认同)
  • 对于使用“toolbox”的用户,“flutter doctor -v”将显示“Android Studio”应用程序位置。然后执行上述操作。 (3认同)
  • 您必须为终端添加权限隐私设置才能执行ln。https://osxdaily.com/2018/10/09/fix-operation-not-permissed-terminal-error-macos/ (3认同)
  • 我使用brew安装Android Studio。`cd /Applications/Android\ Studio.app/Contents/ && ln -s jbr jre` (2认同)

Moh*_*lim 34

就我而言,我使用的是 macOS,我的下载文件夹中有一份 Android Studio Preview 的副本。我刚刚删除了 Android Studio Preview 文件,错误就消失了。


Dia*_*and 29

对于那些使用 Mac 并且刚刚更新到北极狐的人来说,这对我有用。

cd /Applications/Android\ Studio.app/Contents/jre
ln -s ../jre jdk
ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
Run Code Online (Sandbox Code Playgroud)

然后你可以试试

~flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel stable, 2.2.3, on macOS 11.5.1 20G80 darwin-x64, locale
    en-ID)
[?] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[?] Xcode - develop for iOS and macOS
[?] Chrome - develop for the web
[?] Android Studio (version 2020.3)
[?] VS Code (version 1.59.1)
[?] Connected device (1 available)
Run Code Online (Sandbox Code Playgroud)

  • 这个为北极狐工作。 (3认同)

Bon*_*mes 27

MAC OS Beta、Xcode Beta、Android Studio Preview 的 Beta 版本。

只需确保 Flutter 应用程序文件的路径正确即可。

要修复 Android Studio Preview 的 JAVA Bundle,请执行以下操作:

cd /Applications/Android\ Studio\ Preview.app/Contents/jre

ln -s ../jre jdk

ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk

flutter doctor -v
Run Code Online (Sandbox Code Playgroud)

  • cd:没有这样的文件或目录:/Applications/Android Studio Preview.app/Contents/jre (4认同)

小智 19

我收到如下错误,

在此输入图像描述

执行以下步骤来解决此问题,

  1. 访问用户目录中的 Google 文件夹 在此输入图像描述
  2. 删除 AndroidStudio4.1 目录(我收到错误) 在此输入图像描述

再次运行“flutter doctor”。我的问题已解决


小智 17

我最近在 Ubuntu 20.04 LTS 上遇到了同样的问题。

经过大量搜索后,我通过运行下面提到的命令从 Flutter 配置中删除 Android Studio 路径,解决了这个问题。

flutter config --android-studio-dir=   
Run Code Online (Sandbox Code Playgroud)

解决方案:

解决方案


小智 12

转到 Finder > 应用程序 > Android Studio:

  1. 右键单击并单击“显示包内容”
  2. 创建一个名为的新文件夹jre
  3. 复制该文件夹的内容jbr并将其粘贴到该jre文件夹​​中


Sam*_*pta 12

在最新版本的 Flutter for Mac 中,您不会在下面找到 jre 文件夹/Applications/Android Studio.app/Contents

因此,您可以启动终端并运行以下命令来解决该问题:

cd /Applications/Android Studio.app/Contents

ln -s jbr jre(创建一个名为jre指向的符号链接(快捷方式) jbr

如果您使用的是最新版本的 Mac,则在尝试使用终端在“应用程序”文件夹下进行更改时可能会看到错误,请通过添加 来解决该问题sudo,如下所示:

sudo ln -s jbr jre(以管理员身份运行上述命令,它会询问您Mac密码)

您可能仍然会看到安全警报,然后您必须转到System Settings > Privacy & Security > App ManagementTerminal应用程序”文件夹下允许进行更改的应用程序列表。


Tin*_* Lu 11

对于 Android Studio 预览版

我已经安装了

  • Android Studio 预览
  • 通过 Android Studio 预览 JDK
  • MacOS 10.15 上的 Xcode v12

这是我所面临的[!] Android Studio: Unable to find bundled Java version.

解决方案:

  1. 找出 JDK 路径。检查这个
#check bash or zsh

$ echo $SHELL
/bin/bash

#return the path of java_home 
$ /usr/libexec/java_home
Run Code Online (Sandbox Code Playgroud)

2.在.bash_profile(对于bash)或.zshenv(对于zsh)中添加JAVA_HOME

$ nano ~/.bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

3.将JDK路径链接到Android Studio Preview

$ cd /Applications/Android\ Studio\ Preview.app/Contents

# flutter doctor check if Contents/jre exist, link jbr with jre
$ ln -s jbr jre

$ cd jbr
$ ln -s ../jbr jdk
$ ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
Run Code Online (Sandbox Code Playgroud)

4.[可选]如果您同时有Android Studio,您可以按照@Nalawala Murtuza解决方案。允许在颤振医生检查期间同时进行Android StudioAndroid Studio Preview不需要删除Android Studio Preview。

在此输入图像描述

5.flutter doctor -v用于检查


小智 9

对于 Windows 转到 android studio 目录(默认 C:\Program Files\Android\Android Studio)删除 jre 文件夹以管理员身份运行 cmd

cd C:\Program Files\Android\Android Studio

mklink /D "jre" "jbr"
Run Code Online (Sandbox Code Playgroud)


Moh*_*Ali 6

适用于 Ubuntu 22.04 和 android sturdio 2022.1.1

cd path/to/android-studio

只需将jbr目录复制到jre目录即可

cp -r jbr/ jre

它会起作用的

在此输入图像描述


sam*_*pta 5

出现此问题\xe2\x9c\x97 Unable to find bundled Java version.\n似乎问题出在Android Studio(测试版)上

\n

更改了我的Android Studio(稳定版)来解决问题

\n

以下是flutter doctor -v每个 Android Studio的详细信息

\n

Android Studio 测试版

\n
[!] Android Studio\n    \xe2\x80\xa2 Android Studio at /Applications/Android Studio Preview.app/Contents\n    \xe2\x80\xa2 Flutter plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/9212-flutter\n    \xe2\x80\xa2 Dart plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/6351-dart\n    \xe2\x9c\x97 Unable to find bundled Java version.\n    \xe2\x80\xa2 Try updating or re-installing Android Studio.\n
Run Code Online (Sandbox Code Playgroud)\n

稳定的Android Studio

\n
[\xe2\x9c\x93] Android Studio (version 4.2)\n    \xe2\x80\xa2 Android Studio at /Applications/Android Studio.app/Contents\n    \xe2\x80\xa2 Flutter plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/9212-flutter\n    \xe2\x80\xa2 Dart plugin can be installed from:\n       https://plugins.jetbrains.com/plugin/6351-dart\n    \xe2\x80\xa2 Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)\n
Run Code Online (Sandbox Code Playgroud)\n

即使这个问题仍然存在

\n
    \n
  • 检查 Java\n java -version\nwhich java

    \n
  • \n
  • 仔细检查这些是否存在于您的 .bashrc 或 .bash_profile 或 .zshrc 中

    \n
  • \n
\n
export PATH="$PATH:/usr/bin/java"\nexport JAVA_HOME=$(/usr/libexec/java_home)\n
Run Code Online (Sandbox Code Playgroud)\n


小智 5

仔细检查路径,解决了我用引号引起来的问题...

在此输入图像描述

在此输入图像描述


Ewa*_*ald 0

请确保 Java 在您的 PATH 中,并且 JAVA_HOME 已定义并指向 JDK。我让 Windows 将 JRE 而不是 JDK 放在路径中,这会导致各种问题。

请查看您的 PATH 环境变量并删除所有与 Java 相关且不指向 JDK 文件夹的内容。

Oracle 有一些关于如何执行此操作的文档:Installing Java and set JAVA_HOME


归档时间:

查看次数:

44994 次

最近记录:

4 年 前