Ubuntu 22.04 安装 Apache Royale 0.9.12 指南

Ubuntu 22.04 安装 Apache Royale 0.9.12(MXML/ActionScript 跨编译 JS 的 SDK)指南:JDK 11 环境准备、版本选型、sha512 校验、SDK 布局、环境变量与卸载,全程实测。

Apache RoyaleApache Royale2026/10/13

Ubuntu 22.04 安装 Apache Royale 0.9.12 指南

目标:在 Ubuntu 22.04 服务器上完成 Apache Royale 0.9.12(MXML/ActionScript 跨编译为 JavaScript 的 SDK 框架,以 SDK 安装 + 编译器使用形态提供,非独立服务)的安装与验证。本文给出 JDK 11 环境准备、版本选型、官方下载与 sha512 校验、SDK 目录布局、环境变量配置与卸载方式。所有命令与回显均在 Ubuntu 22.04.5 + JDK 11 环境实测通过。

一、环境信息

  • 操作系统:Ubuntu 22.04.5 LTS(VERSION_CODENAME=jammy)
  • 架构:x86_64
  • Java:OpenJDK 11.0.32.1(openjdk-11-jdk-headless,Ubuntu 官方源)
  • Node.js:v12.22.9(Ubuntu 官方源),npm 8.5.1
  • 构建工具:Apache Maven 3.6.3(Ubuntu 官方源)
  • Royale 版本:0.9.12(downloads.apache.org 当前唯一发布版本)
  • SDK 安装目录:/opt/royale/apache-royale-0.9.12-bin-js(压缩包 171MB,解压后约 300MB)
  • 演示账号:root

💡 说明:Apache Royale 是一个把 MXML/ActionScript 代码跨编译为 JavaScript(浏览器端 JS 与 Node 端 JS 双目标)的开源 SDK 框架,本身没有可执行守护进程或服务端口,所谓「安装」本质是下载并解压 SDK,配置 ROYALE_HOME 环境变量使编译器可用。

二、前置条件

2.1 更新软件源

sudo apt-get update

2.2 安装 JDK 11、Node.js、npm 与 Maven

Royale 编译器基于 Java 运行(JDK 11 即可),产物校验需要 Node.js,Maven 构建方案需要 Maven:

sudo apt-get install -y openjdk-11-jdk-headless nodejs npm maven curl

验证各组件版本:

node -v
npm -v
mvn -v | head -3
java -version

实测回显:

v12.22.9
8.5.1
Apache Maven 3.6.3; Maven home: /usr/share/maven; Java version: 11.0.32.1
openjdk version "11.0.32.1" 2026-08-18

💡 说明:仅使用 mxmlc 命令行编译而不做产物语法校验与 Maven 构建时,可省略 npm 与 Maven 两个包;本指南按完整工具链实测。

三、版本选型说明

通过 Apache 官方下载目录探测当前版本:

wget -q -O /tmp/royale_versions.html https://downloads.apache.org/royale/
grep -oE '[0-9]+\.[0-9]+\.[0-9]+' /tmp/royale_versions.html | sort -V | uniq

实测返回:

0.9.12

downloads.apache.org/royale/ 当前仅有 0.9.12 一个版本目录,即最新稳定版本。版本目录下提供多种二进制包,本指南使用面向 JavaScript 双目标的 bin-js 包(压缩包 171MB,含编译器、框架 SWC 与示例工程),其 sha512 校验和实测为:

0a8350f1b6047913c4e7a23b51f0cd706366189c7d60ffa922a198989b98565d55fc6db5611f37a1f1753f7d2ccac21ccab57df38c0a6cc69e4e48ef035573ae

四、下载与校验

4.1 下载 SDK

mkdir -p /opt/royale
cd /opt/royale
wget -q https://downloads.apache.org/royale/0.9.12/binaries/apache-royale-0.9.12-bin-js.tar.gz
ls -lh apache-royale-0.9.12-bin-js.tar.gz

实测回显:

-rw-r--r-- 1 root root 171M Oct 18  2024 apache-royale-0.9.12-bin-js.tar.gz

4.2 校验 sha512

cd /opt/royale
sha512sum apache-royale-0.9.12-bin-js.tar.gz

实测回显:

0a8350f1b6047913c4e7a23b51f0cd706366189c7d60ffa922a198989b98565d55fc6db5611f37a1f1753f7d2ccac21ccab57df38c0a6cc69e4e48ef035573ae  apache-royale-0.9.12-bin-js.tar.gz

该值与官方 apache-royale-0.9.12-bin-js.tar.gz.sha512 一致,即下载完整无损。

五、解压与目录布局

cd /opt/royale
tar xzf apache-royale-0.9.12-bin-js.tar.gz
ls /opt/royale/apache-royale-0.9.12-bin-js/

实测回显:

royale-asjs  royale-typedefs

SDK 根目录 /opt/royale/apache-royale-0.9.12-bin-js/ 下关键目录:

目录内容
royale-asjs/框架源码 + 编译器 jar(lib/compiler-mxmlc.jar 等)+ js/bin/{mxmlc,asjsc,asnodec,compc,externc} 编译脚本
royale-asjs/frameworks/royale-config.xml / js-config.xml / node-config.xml 配置文件 + js/libs/*.swc(37 个框架 SWC)
royale-asjs/examples/官方示例工程(royale/HelloWorld、node/HelloWorld 等)
royale-typedefs/JS/Node 类型定义

六、环境变量配置

编译器脚本依赖 ROYALE_HOME 定位 SDK(注意指向 royale-asjs 子目录而非 SDK 根目录):

export ROYALE_HOME=/opt/royale/apache-royale-0.9.12-bin-js/royale-asjs
export PATH=$ROYALE_HOME/js/bin:$PATH

写入 /etc/profile.d/royale.sh 使其对后续登录会话持久生效:

cat > /etc/profile.d/royale.sh <<'EOF'
export ROYALE_HOME=/opt/royale/apache-royale-0.9.12-bin-js/royale-asjs
export PATH=$ROYALE_HOME/js/bin:$PATH
EOF
chmod +x /etc/profile.d/royale.sh

七、安装验证

运行编译器帮助命令确认版本:

$ROYALE_HOME/js/bin/mxmlc --help

实测回显:

Apache Royale MXML and ActionScript Compiler (mxmlc)
Version 0.9.12 build 0
MXMLJSC
+royalelib=/opt/royale/apache-royale-0.9.12-bin-js/royale-asjs/frameworks
-sdk-js-lib=/opt/royale/apache-royale-0.9.12-bin-js/royale-asjs/frameworks/js/Royale/generated-sources

输出 Version 0.9.12 build 0 即安装成功。完整功能验证(编译示例应用、Node 目标运行)见《Apache Royale 0.9.12 构建并运行示例应用指南》篇。

八、注意事项

⚠️ 注意:

  1. Royale 编译器是 Java 进程,需 JDK 11(实测 11.0.32.1);编译器进程默认 JVM 堆上限为 -Xmx384m,属 256–512MB 合理区间,一般工程无需调整(调整方式见配置参数详解篇)。
  2. ROYALE_HOME 必须指向 royale-asjs 子目录,指向 SDK 根目录会导致编译器无法定位 royalelib 与框架 SWC。
  3. bin-js 包面向浏览器 JS 与 Node JS 双目标;若需编译 SWF(Flash)目标产物,请按官方发布目录选择其它形态的二进制包。
  4. 首次使用 Maven 构建方案时需联网从 Maven Central 拉取框架 SWC 与编译器依赖,离线环境请提前准备本地仓库。

九、常见问题

Q1:downloads.apache.org 下载慢或无法访问怎么办? 可在任意 Apache 镜像站下载同路径文件(路径结构一致),或从内网分发点将压缩包拷入 /opt/royale 后按第五节解压,校验和与官方值一致即可。

Q2:sha512 校验不通过? 下载不完整或被篡改。重新下载后再次校验,确认结果与本文一致(压缩包 171MB);若镜像站文件与官方不同,请以官方目录文件为准。

Q3:mxmlc 报找不到 SDK / royalelib? ROYALE_HOME 指向错误。按第六节改指 /opt/royale/apache-royale-0.9.12-bin-js/royale-asjs,并确认 PATH 中包含 $ROYALE_HOME/js/bin。

Q4:安装到普通用户目录可以吗? 可以,将解压目录放在用户家目录(如 /home/用户/apache-royale-0.9.12-bin-js),并把 ROYALE_HOME 指向该目录下的 royale-asjs 即可,无需 root。

十、卸载方式

移除 SDK 目录与环境变量配置:

rm -rf /opt/royale/apache-royale-0.9.12-bin-js
rm -f /etc/profile.d/royale.sh

并清除当前会话中导出的 ROYALE_HOME 与 PATH 追加项:

unset ROYALE_HOME

若同时移除 Node.js、npm 与 Maven 工具链:

sudo apt-get remove -y nodejs npm maven
sudo apt-get autoremove -y

十一、参考链接

  • Apache Royale 官方下载目录:https://downloads.apache.org/royale/
  • Apache Royale 版本归档:https://archive.apache.org/dist/royale/
  • Apache Royale 官方文档:https://royale.apache.org/