JavaFX程序打包成Android、IOS应用详细教程
序言
近年来,移动应用开发如火如荼,Java 开发者们是否也想将自己的 JavaFX 程序搬上手机屏幕,触达更广阔的用户群体?好消息是,借助强大的开源工具和框架,JavaFX 程序也能轻松打包成 Android 和 iOS 应用,实现真正的跨平台开发!
本教程将手把手带你踏上 JavaFX 移动应用开发之旅,从环境搭建到代码调试,从打包发布到性能优化,一步步揭开 JavaFX 跨平台开发的神秘面纱。无论你是 JavaFX 新手,还是经验丰富的开发者,都能从本教程中获益,将你的创意和代码转化为触手可及的移动应用,开启跨平台开发的新篇章!
你将学习到:
- 如何将 JavaFX 程序打包成 Android 和 iOS 应用
- 使用 Gluon 工具链简化跨平台开发流程
- 针对移动设备优化 JavaFX 程序的技巧
- 解决跨平台开发中常见问题的方案
准备好迎接挑战了吗? 让我们一起开启这段激动人心的旅程,将 JavaFX 的魅力延伸到移动端,用代码创造无限可能!
相关资源在文章最后获取
作者博客: www.lstar.icu
开源地址
Gitee 地址: https://gitee.com/lxwise
Github 地址: https://github.com/lxwise
1.前提条件
在开始打包 APK 之前,我们需要确保我们的开发环境已经准备好。你需要安装以下工具:
- JDK 8 或更高版本:。
- Maven : 版本大于3.6.0,小于3.9.0。
- Gluon Plugin - 用于将 JavaFX 应用连接到 Android 的插件。
- GraalVM
- Linux平台(CentOS7)
- Android SDK 和 NDK(可选,稍后将详细介绍)
重要提醒
所有软件版本请和作者保持一致!
所有软件版本请和作者保持一致!
所有软件版本请和作者保持一致!
2.环境准备
2.1 JDK安装
2.1.1 下载Java包
通过网页下载,上传到服务器
下载地址: https://jdk.java.net/archive/或者https://github.com/openjdk/jdk
2.1.2 上传服务器并解压
cd /opt/
#解压
tar -zxvf jdk-17.0.8_linux-x64_bin.tar.gz
[root@VM-8-7-centos opt]# tar -zxvf jdk-17.0.8_linux-x64_bin.tar.gz
2.1.3 配置环境变量
打开profile文件
vi /etc/profile
在文件最后添加如下字段保存退出就ok了
export JAVA_HOME=/opt/jdk-17.0.8
export PATH=$PATH:$JAVA_HOME/bin
2.2 Maven安装
2.2.1 下载Maven
Apache Maven:https://maven.apache.org/download.cgi
2.2.2 上传服务器并解压
cd /opt/
#解压
tar -zxvf apache-maven-3.8.8-bin.tar.gz
#注意:apache-maven-3.8.8-bin.tar.gz 是我下载的安装包名称,请修改为你下载的安装包名称
2.2.3 配置环境变量
打开profile文件
vi /etc/profile
在文件最后添加如下字段保存退出就ok了
#你的maven路径
MAVEN_HOME=/opt/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:${
PATH}
2.2.4 修改配置文件
打开settings.xml配置文件
cd /opt/apache-maven-3.8.8/conf/
vim settings.xml
修改仓库存放位置
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>/opt/maven</localRepository>
修改仓库镜像地址
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/
</url>
<mirrorOf>central</mirrorOf>
</mirror>
2.3 GraalVM安装
2.3.1 下载GraalVM
这里我们下java17
的,高版本的有问题:
GraalVM
2.3.2 上传服务器并解压
cd /opt/
#解压
tar -zxvf graalvm-svm-java17-linux-gluon-22.1.0.1-Final
2.3.3 配置环境变量
打开profile文件
vi /etc/profile
把之前的JAVA_HOME指向你的graalvm文件夹,同时新加一个GRAALVM_HOME环境变量
export JAVA_HOME=/opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
export PATH=$PATH:$JAVA_HOME/bin
export GRAALVM_HOME=/opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
export PATH=$GRAALVM_HOME/bin:$PATH
完整的环境变量:
export JAVA_HOME=/opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
export PATH=$PATH:$JAVA_HOME/bin
#你的maven路径
MAVEN_HOME=/opt/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:${
PATH}
export GRAALVM_HOME=/opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
export PATH=$GRAALVM_HOME/bin:$PATH
为方便起见,您可以将上述内容添加到您的 .bashrc
文件中。
vim ~/.bashrc
添加:
export GRAALVM_HOME=/opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
刷新环境变量,并查看环境是否配置正确
source /etc/profile
source ~/.bashrc
echo $JAVA_HOME
echo $GRAALVM_HOME
java -version
mvn -v
gu --version
gu list
出现下列便是成功配置了环境
[root@localhost etc]# java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment GraalVM 22.1.0.1 (build 17.0.3+7-jvmci-22.1-b06)
OpenJDK 64-Bit Server VM GraalVM 22.1.0.1 (build 17.0.3+7-jvmci-22.1-b06, mixed mode, sharing)
[root@localhost etc]# mvn -v
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /opt/apache-maven-3.8.8
Java version: 17.0.3, vendor: GraalVM Community, runtime: /opt/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.119.1.el7.x86_64", arch: "amd64", family: "unix"
[root@localhost etc]# gu --version
GraalVM Updater 22.1.0.1
[root@localhost etc]# gu list
ComponentId Version Component name Stability Origin
---------------------------------------------------------------------------------------------------------------------------------
graalvm 22.1.0.1 GraalVM Core Supported
llvm-toolchain 22.1.0.1 LLVM.org toolchain Supported
native-image 22.1.0.1 Native Image Early adopter
2.4 安装开发者工具集
执行以下命令以安装所需的 yum 软件包:
sudo yum install pkgconfig gtk3-devel libXtst-devel
3.应用打包
3.1 项目获取
这里为了演示,作者直接用的是gluon提供的项目
项目地址
git clone https://github.com/gluonhq/gluon-samples.git
3.2 项目编译
运行mvn gluonfx:compile
命令:
这里第一次运行会下载很多打包所需的文件例如JavaFX SDK 及其静态库等,可以在~/.gluon
文件夹下找到
mvn gluonfx:compile
[INFO] --------------------< com.gluonhq.samples:hellofx >---------------------
[INFO] Building HelloFX 1.0.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> gluonfx-maven-plugin:1.0.18:compile (default-cli) > process-classes @ hellofx >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hellofx ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ hellofx ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] <<< gluonfx-maven-plugin:1.0.18:compile (default-cli) < process-classes @ hellofx <<<
[INFO]
[INFO]
[INFO] --- gluonfx-maven