问题标签 [gluonfx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
147 浏览

java - Gluon JavaFX maven nativerun 在加载 fxml 文件时出现错误

经过数小时的测试,我仍然无法将我的 JavaFX 项目作为本机应用程序(Windows 上的 .exe)运行。我使用 JavaFX 11.0.2。执行时我没有收到任何错误mvn clean gluonfx:build。错误伴随着mvn gluonfx:nativerun

这是我的 Main.fxml 和 Chat.fxml(使用 Scene Builder 创建):

主要.fxml:

聊天.fxml:

最后是我的src/main/resources/META-INF/substrate/config/reflectionconfig.json,它(应该)包含我在我的 fxml 文件中使用的所有类和方法:https ://pastebin.com/EqQpBiKH

我的代码在 IntelliJ 中运行时运行良好,但不是从本机映像运行。我用尽了我想象的所有解决方案的可能性……

0 投票
0 回答
120 浏览

java - GraalVM 上的 JavaFX 无法使用 FastJson 和 MediaPlayer

很高兴我已经成功编译了官方的测试程序,但是在尝试编写自己的JavaFX程序时出现了一些问题:

当我引入fastjson依赖时,gluonfx: build 无法成功构建。这是它的日志:

这就是我使用这些依赖项的方式

有谁知道这是关于什么的?这是否意味着 FastJson 不能在 Graalvm 上使用?或者我需要一些额外的配置吗?如果是,什么样的依赖项不能在 GraalVm 项目上使用?

还有一个问题是我通过pom引入了JavaFX的Meida包后,在编译时,mediaplayer没有工作,点击按钮后没有报错和响应。我尝试使用异常监听器将错误信息放入TextArera,他没有给我任何异常信息。

所有这些问题只有在我构建项目,运行时 javafx:ru​​n 和 graalfx:ru​​n 才能正常运行,这仅出现在 graalvm:build 命令中。

因为google这方面的资料太少了,我自己解决不了这些问题,只能求助,不胜感激!

0 投票
1 回答
135 浏览

android - gluonfx:package 在教程中失败,无法找到 libHelloFX.so

我正在按照 Gluon 提供的文档的说明进行操作:https ://docs.gluonhq.com/#platforms_android并在我的 Ubuntu 桌面 CLI 上尝试了以下命令:

不幸的是,这未能建立。以前,我能够mvn -Pandroid gluonfx:build成功运行该命令。(AFAIK,也就是说。文档中没有给出验证测试,但预期的文件似乎已填充,并且该过程最后给出了 BUILD_SUCCESS 消息)。

抛出的异常表明该文件/home/phil/Projects/metronome/gluon-samples-master/HelloFX/target/gluonfx/aarch64-android/libHelloFX.so不存在。实际上,该文件夹/aarch64-android仅包含两个文件夹:gensrcgvm.

我是否忽略了某些事情或犯了错误?该设备通过 USB 连接到 ubuntu 系统。我之前已经成功使用此设备和设置,以及 AndroidStudio。

这是控制台输出(我已将其分成几部分以方便水平滚动):

继续(控制台输出)...

以下来自日志文件:/gluon-samples-master/HelloFX/target/gluonfx/aarch64-android/gvm/log

继续(日志内容)...

继续(日志内容)...

继续(日志内容)...



编辑(21 年 9 月 20 日)正如评论中所建议的,我运行了以下 cli 命令:mvn clean -Pandroid gluonfx:build gluonfx:package

该错误表明 NDK 缺少所需的文件:/home/phil/Android/Sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64/aarch64-linux-android/bin/objdump

的位置/home/phil/Android/Sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64/不包含该文件夹。/aarch64-linux-android

我通过以下步骤创建了 NDK 文件夹:

  1. 使用我已在我的设备上成功执行并运行的现有教程程序打开 AndroidStudio。

  2. 点击工具>> SDK管理器

  3. 导航到“SDK 工具”选项卡

  4. 选中“NDK(并排)”复选框 Android Studio 是最新的。

    Android Studio 北极狐 | 2020.3.1 Build #AI-203.7717.56.2031.7583922,于 2021 年 7 月 26 日构建 运行时版本:11.0.10+0-b96-7249189 amd64 VM:OpenJDK 64-Bit Server VM by JetBrains sro Linux 5.4.0-84- generic GC:G1 Young Generation,G1 Old Generation 内存:1280M 内核:6 注册表:external.system.auto.import.disabled=true 非捆绑插件:org.jetbrains.kotlin 当前桌面:ubuntu:GNOME

  5. 我创建了一个环境变量ANDROID_NDK=~/Android/Sdk/ndk/23.0.7599858

我现在将删除这个 ndk 和环境变量,并查看应该由 pom 中的 gluon 插件提供的 ndk 是否足够。理论:我安装的 Android Studio 中的 NDK 正在拦截或覆盖对所需文件的访问。由于这需要我编辑我的 .bashrc 并重新启动,我将在此处暂停编辑过程并返回报告结果。

以下是 CLI 命令运行的控制台内容。

0 投票
0 回答
76 浏览

android - INSTALL_FAILED_NO_MATCHING_ABIS 尝试安装和运行 gluonfx HelloFX

我正在完成 Gluon-Mobile 文档中从此时开始的步骤。 https://docs.gluonhq.com/#platforms_android_sample

以下步骤成功,并且在每种情况下都创建了预期的文件。运行 package 命令后,我很高兴在预期的位置看到 .apk 文件。

  • mvn -Pandroid gluonfx:编译
  • mvn -Pandroid gluonfx:link
  • mvn -Pandroid gluonfx:package

当我运行命令在我的设备上安装和运行时

  • mvn -Pandroid gluonfx:安装 gluonfx:nativerun

我收到以下异常消息:

我看到我的设备被正确识别(LM X210VPP)。之前有警告,这与故障有关吗?

以下是日志文件的较大摘录。如果需要更多,请告诉我!

这是否意味着我的特定设备不包括在内?我从 Android 中找到了这个关于 ABI 的页面,并试图弄清楚我的设备是如何关联的。更新:手机有 armeabi-v7z 指令集。在我看来,它应该被支持,因为它列在我上面链接的 Android ABI 页面中。我又想知道我应该更加关注 NDK 是否有问题。

编辑(21 年 10 月 3 日),跟进评论中的说明

我在使用具有 64 位 CPU 和指令集的手机时遇到了同样的错误:

来自GSM Arena、摩托罗拉 Moto G Fast

来自高通骁龙 665

使用 Droid Hardware Info 工具检查手机上的硬件信息:

从日志

感谢您提供任何帮助。

0 投票
1 回答
66 浏览

javafx - 如何使用存储附加服务进行公共存储访问而不是私有存储访问?

问题总结

我的应用程序(开发中)在桌面上运行时,可以:

  • 写入和读取私有存储
  • 写入和读取公共存储。

但是,在 Android 上运行时,只能访问私有存储。

如何复制问题

我不分享我的项目代码库的摘录,而是参考我们共享和拥有的另一个代码库 - Gluon Samples中的gluon-connect-file-provider项目。示例应用程序仅演示私有存储的使用。没有演示公共存储使用,因此在 gluon-connect-file-provider 项目中,您可以在com.gluonhq.samples.connect.file.Main.java中进行以下更改:

更改后在桌面上启动应用程序时,您可以首先观察在您的机器上创建的目录~/Gluon 。然后,当您在应用程序的对象查看器屏幕中打开/关闭复选框时,您还可以确认底层 JSON 文件~/Gluon/user.json正在更新。因此,我们可以同意公共存储工作。

但是,当部署到 Android 时,我们可以在mvn -Pandroid gluonfx:nativerun期间在滚动终端中看到与文件权限相关的故障。首先,启动时无法创建 Gluon 目录,因此稍后会尝试写入user.json文件。

我认为解决方案是在项目中定义文件src/android/AndroidManifest.xml在target/gluonfx/aarch64-android/gensrc/android/AndroidManifest.xml中找到的默认值不包括以下权限:

因此,我将生成的AndroidManifest.xml文件复制到src/android,包括这些条目。即使 Android 设置显示我的应用程序具有存储权限,但这仍然没有解决问题。

注意 - 在准备这篇文章寻求您的帮助时,我注意到,在没有为 gluon-connect-file-provider 提供具有外部读/写权限的src/android/AndroidManifest.xml文件的情况下,Android 设备已经显示了部署的应用程序已启用存储权限。

我使用了两种不同的 Android 设备进行测试。

  1. Pixel XL 运行 Android 版本 10。
  2. 运行 Android 版本 10 的三星 S9。

我使用最新的 GluonHQ Attach 依赖项 4.0.13 以及我发现的最旧的 4.0.7 进行了测试。

存储附加服务是否还需要做更多的事情才能允许 Android 上的公共存储访问?请告诉我如何修改 gluon-connect-file-provider 应用程序以使其如此,谢谢。

0 投票
1 回答
184 浏览

maven - 使用 GraalVM、Maven、GluonFX 插件的本机映像 - 资源包 com.sun.glass.ui.win 的问题

GraalVM 版本:21.2.0 JavaFX 版本:17.0.0.1 Maven 版本:3.6.3

我非常接近能够运行我的本机图像,我在 pom.xml 等中将类添加到我的反射列表中,但现在由于找不到资源包错误,我正在停止。如果有人能给我一个提示,那将不胜感激。

这是我的 pom.xml:

其次是错误输出:

因此,缺少资源“com/sun/glass/ui/win/themes”。但是我找不到如何纠正这个问题。

0 投票
1 回答
44 浏览

javafx - 即使用户在横向模式下旋转他们的设备,是否在 Gluon API 中保持我们的应用程序处于纵向模式?

在将我的应用程序设置为纵向模式后,我发现如果用户操纵手机将应用程序调用为横向模式,它的布局是不可接受的。我可以稍后花时间重写/重新测试纵向和横向模式的 UX,但目前是我们让我们的应用程序一直保持纵向模式的一种方式吗?

0 投票
0 回答
12 浏览

gluon-mobile - 用于将加密密钥存储到 iOS 和 Android 设备的 API

学习 JavaFX 和 Gluon 移动,并有一个关于移动安全的问题。

我一直在查看文档和 API,但找不到任何将加密密钥存储到 iOS 和 Android 设备(例如分别为 KeyChain 和 KeyStore)的参考资料。

我的理解是,需要创建一个附加模块,因为一个不存在(或对公众可用),对吗?

设置模块作为模板可能是一个很好的开始(但密钥库而不是设置),但想看看是否有人知道已经完成或需要完成的工作。

0 投票
0 回答
135 浏览

windows - JavaFX Windows Native Image HelloFX 示例失败:java.lang.NoSuchMethodError: com.sun.glass.ui.win.WinView.notifyResize(II)V

我尝试构建并启动 Gluons HelloFX 示例作为 Windows 的本机映像。构建成功,但启动生成的可执行文件失败,出现以下异常:

这不是我遇到的第一个例外。在此之前我得到:我用这里
Can't find bundle for base name com/sun/glass/ui/win/themes, locale en_US
的答案解决了这个问题。

我严格按照Gluon 文档中的说明进行操作。

我做过的事情:

  • 下载 Gluons GraalVM 版本并解压
  • 设置 GRAALVM_HOME
  • 下载 VisualStudio 2019 CE 并安装所需组件
  • 执行vcvars64.bat
  • 克隆最新的胶子样本
  • cd HelloFX
  • mvn clean gluonfx:编译
  • mvn gluonfx:链接

这一切都奏效了。但最后一步 - 运行应用程序 - 失败了:mvn gluonfx:nativerun

到目前为止我做了什么:

  • 更新了gluonfx.maven.plugin.version1.0.71.0.8
  • 使用 GraalVM CE 21.3.0 并添加native-image-installable-svm-java11-windows-amd64-21.3.0.jar- 并得到相同的错误
  • 添加<bundlesList>com.sun.glass.ui.win.themes</bundlesList>到 gluonfx-maven-plugin 配置

操作系统是 Windows 10 Pro 64 位。

0 投票
0 回答
126 浏览

java - GluonFX、本机图像和 java.lang.ClassNotFoundException:javafx.scene.web.WebView

我正在尝试使用 GluonFX 插件和 Maven 在 Windows 下将我的 javaFX 程序转换为本机图像。

由于我使用 javafx WebView,生成的 exe 文件在执行时告诉我错误:

Mine 是一个使用 WebView 和 WebEngine 的简单程序,在 JVM 下功能齐全,在 NetBeans 中。

是否有使用 WebView 并使用 GluonFX 转换为本机图像的程序示例?

这个问题对我来说似乎无法克服,我寻求帮助。以下是错误信息:

pom 文件是由 NetBeans 生成的,而编译是通过终端完成的:

  • VS 2019 的 x64 原生工具提示

我的java程序:

绒球: