答案1
我知道这有点晚了,但我刚刚遇到了同样的问题,却找不到任何解决方案。我终于弄清楚了,在启用访问后,/usr/lib/jvm
它可以从 flatpak 应用程序内部找到在 地点/var/run/host/usr/lib/jvm
。
也可以通过命令行启用对 /usr/lib/jvm 的访问
sudo flatpak override --filesystem=/usr/lib/jvm
为所有 flatpak 应用程序启用或
sudo flatpak override <package identifier> --filesystem=/usr/lib/jvm
为给定的包启用。
这仍然会不行如果主机 Java 版本是动态链接的(大多数情况下都是这样),并且主机的 libc 版本与 flatpak 应用程序中的版本不同。在这种情况下,您唯一的选择是使用静态链接的 Java 版本,或者找出一个巧妙的链接器技巧,当在 flatpak 应用程序中使用时,将主机 Java 可执行文件链接到主机 libc。
选择
您可以在 flatpak 中安装 OpenJDK,它可以/usr/lib/sdk/openjdk<version>/jvm/
在 flatpak 应用程序内部使用。
要安装 OpenJDK 11,请使用
flatpak install org.freedesktop.Sdk.Extension.openjdk11
这不能以 root 用户身份完成,所以不要使用 sudo。根据需要调整版本号。您需要重新启动 Android Studio/IntelliJ/...以便能够访问新的 OpenJDK 安装。
但是这会占用您额外的磁盘空间。对我来说,它占用了超过半 GB。此外,现在您有两个 Java 版本,您需要分别更新它们。此外,只有 OpenJDK 版本的 jdk 可用于 flatpak。