PI4上运行JavaFx

技术经验 dingxiao 阅读数:108 2019年11月20日 12:57

PI4上运行JavaFx

0x01-PI4到手

一直心念的PI4终于到手了,拿到PI4的感觉像是久违的好友,从PI1开始我一直追随它发展的脚步,现已出至第4代,功能性能直至今日都有不错提升。

0x02-PI系列运行Javafx

在pi上运行javafx是我每次对新pi必做的功能测试,当然pi4也不例外。

在开始操作前,查询了相关移植的资料,发现在pi4上成功运行javafx的教程和经验都极少,只有一篇关于openjdk在pi4上运行video的资料可以参考,该资料地址:https://bell-sw.com/announcements/2019/09/12/JDK-JavaFX-Video-Preview/

按照上述方法,我没有成功,并且重启pi后会卡死,并提示memory锁死,故该方法放弃。

0x03-老方法运行Javafx

回想PI3 B+运行javafx方法,冥冥之中感觉有一定的借鉴作用,故查看PI3 B+运行的方法,参考方法地址为:https://wimdeblauwe.wordpress.com/2017/08/26/using-javafx-on-raspberry-pi-3-with-gluon/

具体方法分为两个部分

  • 安装java

  • 安装javafx

0x03-自我实践

实际环境操作时如图:

  • 安装java

通过ftp上传至pi4,并解压,形成两个目录为jdk1.8.0_231和armv6hf-sdk。

修改linux中java的环境变量,在命令行中:sudo nano /etc/profile 对环境变量进行设置,在profile最后插入export PATH=/home/pi/dx/Java/jdk1.8.0_231/bin:$PATH   保存退出

然后进行source /etc/profile 对环境变量生效,通过java –version 进行版本查看。

  • 安装javafx

将armv6hf-sdk中的优化文件copy至java文件中,这样就完成了javafx的安装。

 sudo cp armv6hf-sdk/rt/lib/ext/jfxrt.jar /home/pi/dx/Java/jdk1.8.0_231/jre/lib/ext/
 sudo cp armv6hf-sdk/rt/lib/arm/* /home/pi/dx/Java/jdk1.8.0_231/jre/lib/arm/
 sudo cp armv6hf-sdk/rt/lib/javafx.platform.properties /home/pi/dx/Java/jdk1.8.0_231/jre/lib/
 sudo cp armv6hf-sdk/rt/lib/javafx.properties /home/pi/dx/Java/jdk1.8.0_231/jre/lib/
 sudo cp armv6hf-sdk/rt/lib/jfxswt.jar /home/pi/dx/Java/jdk1.8.0_231/jre/lib/

上述为在PI4上javafx的环境,其中jdk1.8.0_231是基本java环境,armv6hf-sdk(armv6hf-sdk-8.60.12)是javafx针对arm平台的优化包。

0x04-运行javafx
  • 运行脚本命令

安装已有经验,修改Rec文件夹下的runfxapp和runfxapp_touch两个脚本文件,但通过该方法均不能成功运行javafx,提示:

  • 运行java命令

 sudo java -jar Servo_Handle.jar

  • 运行在命令行下的java命令

 java -jar Servo_Handle.jar

上述命令必须将PI4切换至命令模式下运行,才能正常运行javafx程序。

上述方法运行javafx程序还是有一定缺陷的,后台会提示无权操作输入设备的警告。

目前还没有解决的方法,后期会再跟进,不过PI4上运行javafx是可行的。


captcha
    暂无评论