Gluon 编译 JavaFx -> android apk

打印 上一主题 下一主题

主题 510|帖子 510|积分 1530

Gluon 编译 JavaFx -> android apk

本文的内容是在linux服务器上 搭建 Gluon 编译 android-apk 环境
这一篇文章直接跟着官网操作一次性成功
虚拟机版本


  • centos8 Architecture: x86-64
开始安装相关前置工具


  • gcc version 6 or higher
  • ld version 2.26 or higher
  1. sudo yum update
  2. sudo yum install gcc ld -y
  3. sudo yum install pkgconfig gtk3-devel libXtst-devel -y
复制代码
如果遇到毗连超时的问题,就更新一下yum源,我切换的是阿里云的yum源,centos8的系统参考这篇文章
下面是我提炼过的内容
  1. # 命令备份之前的repo文件
  2. sudo rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
  3. # 运行以下命令下载最新的repo文件
  4. # 注意 我们不是阿里云的ECS实例
  5. # 需要将后面所有命令中的源地址http://mirrors.cloud.aliyuncs.com替换为http://mirrors.aliyun.com
  6. sudo wget http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
  7. sudo wget http://mirrors.cloud.aliyuncs.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
  8. # 替换repo文件中的链接
  9. sudo sed -i 's/http:\/\/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo &&  sudo sed -i 's/http:\/\/mirrors.aliyun.com/http:\/\/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sudo sed -i 's/url_tmp/http:\/\/mirrors.aliyun.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo
  10. sudo sed -i 's/http:\/\/mirrors.aliyun.com/http:\/\/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/epel-archive-8.repo
  11. # 重新创建缓存
  12. sudo yum clean all && yum makecache
复制代码
配置环境变量
  1. vi ~/.bashrc # 编辑到用户环境变量中
复制代码
  1. export HISTSIZE=10000                # 设置最大条目数为 1000
  2. export HISTFILESIZE=20000            # 设置最后一次会话保存的历史条目数为 2000
  3. export HISTCONTROL=ignoreboth       # 忽略命令参数的重复和还未执行的命令
  4. export PATH=$PATH:~/bin
复制代码
  1. source ~/.bashrc # 重载用户环境变量中
复制代码
环境工具配置

Graalvm 环境构建

首先进入 linux 找到一个合适的目录
  1. # 拉取构建使用的虚拟机
  2. mkdir ~/software ~/module
  3. cd ~/software
  4. wget https://github.com/gluonhq/graal/releases/download/gluon-22.1.0.1-Final/graalvm-svm-java17-linux-gluon-22.1.0.1-Final.tar.gz
  5. cd ~/module
  6. tar -zxvf ../software/graalvm-svm-java17-linux-gluon-22.1.0.1-Final.tar.gz
复制代码
graalvm 是一个特殊的 java 虚拟机环境,主要是使用AOT模打包构建多个平台的虚拟机版本,它可以直接当做一个平凡的 jdk 使用
配置 maven 环境
  1. cd ~/software
  2. wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
  3. cd ~/module
  4. tar -zxvf ../software/apache-maven-3.9.9-bin.tar.gz
复制代码
修改 maven settings 文件
  1. vi ~/module/apache-maven-3.9.9-bin/conf/settings.xml
复制代码
  1. <mirror>
  2.     <id>alimaven</id>
  3.     <name>aliyun maven</name>
  4.     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  5.     <mirrorOf>central</mirrorOf>
  6. </mirror>
  7. <mirror>
  8.     <id>repo2</id>
  9.     <mirrorOf>central</mirrorOf>
  10.     <name>Human Readable Name for this Mirror.</name>
  11.     <url>http://repo2.maven.org/maven2/</url>
  12. </mirror>
复制代码
配置新的环境变量(我的 maven、graalvm 放到~/module 目录下的)
  1. vi ~/.bashrc # 编辑到用户环境变量中
复制代码
  1. export GRAALVM_HOME=~/module/graalvm-svm-java17-linux-gluon-22.1.0.1-Final
  2. ## JAVA_HOME
  3. export JAVA_HOME=$GRAALVM_HOME
  4. export PATH=$PATH:$JAVA_HOME/bin
  5. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  6. export MVN_HOME=~/module/apache-maven-3.9.9
  7. export PATH=$PATH:$MVN_HOME/bin
复制代码
  1. source ~/.bashrc # 重载用户环境变量中
复制代码
这里基本的环境已经配置好了,至于 andriod sdk 这里不消显式的去配置,由于 gluonfx 这个工具会在打包的过程中自动的下载相关的依赖,对这个 andriodSdk 非必须。
详细可以参考Gluon 官网文档

编译官网示例项目

准备一个专门实行 gluonfx 编译安卓的脚本
  1. mkdir ~/bin
  2. vi ~/bin/gluon_build_android
  3. chmod +x ~/bin/gluon_build_android
  4. source ~/.bashrc # 重载用户环境变量中
复制代码
~/bin/gluon_build_android的内容如下
  1. mvn clean package -DskipTests=true
  2. mvn -P android gluonfx:build gluonfx:package -DskipTests=true
复制代码
拉取官网示例项目 HelloFx
  1. mkdir ~/module/git-repos
  2. cd ~/module/git-repos
  3. git clone https://github.com/gluonhq/gluon-samples.git
  4. cd gluon-samples/HelloFx
  5. gluon_build_android # 执行之前定义的脚本
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

花瓣小跑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表