华为 EMUI 官方发文称，方舟编译器开源准备就绪，“8 月 31 日 show you the code!” 今年 4 月 11 日，华为消费者业务 CEO 余承东宣布，华为正式发布华为方舟编译器，这一编译器能改善安卓应用编译效率，从原先的边解释边执行转变为全程机器码高效运行程序。 华为方舟编译器作为一款全新的安卓应用编译器能显著提高手机的运行速度，根据华为官方数据，方舟编译器能够提升 24% 的系统操作流畅度，提升 44% 的系统响应能力，还能提升 60% 的三方应用操作流畅度。 华为官方介绍，方舟编译器是首家完全替代语言虚拟机的静态编译器，完全不需要解释器。兼顾 Java 开发效率和C语言运行效率的编译器。相比现有的编译机制： 1、方舟编译器是一种静态的编译方式，而现有的安卓系统，运行一个应用程序首先启动虚拟机，然后读入应用程序代码，逐条解释执行。会占用较多的处理资源，影响程序执行的效率。当然，也有包括 AOT 或 JIT 等提前或运行时的编译技术，把部分程序转换成机器码直接在 CPU 上执行。但是，仍旧无法做到 100% 做到摆脱虚拟机的执行，这也是当前安卓阵营不如 IOS 阵营的关键。 2、华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码，手机安装应用程序后可全速运行程序，彻底消除虚拟机的弊病，带来效率上的极大提升。 3、方舟编译器是在开发环境部署的编译器，而现有编译过程，主要发生在手机上，带来额外的资源消耗。
华为方舟编译器编译工具正式发布，附源码下载
据华为开发者官网最新消息，编译工具方舟编译器已经对外发布。方舟编译器是基于 GCC 开发的交叉编译器套件，它包括了C、C++、Fortran 的前端，也包括了这些语言的库（如 libstdc++、libgcc 等）。HCC 运行在 X86 linux 架构服务器上，生成的二进制运行在 Aarch64 架构服务器上。安装前准备 1) 环境要求 方舟编译器支持如下 64 位操作系统。 SUSE12sp4 及以上版本。 ubuntu16.04 及以上版本。 其他 glibc 版本在 2.22 及以上的 Linux 发行版。 2) 获取软件包 安装方舟编译器需要获取如表2-1 所示的开源软件包。GCC 7.3.0 编译器源码包 https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz Binutils 2.31.1 汇编器、链接器等二进制工具集源码包 https://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.gz Glibc 2.29 GNU libc 库源码包 https://git.linaro.org/toolchain/glibc.git/snapshot/glibc-2.29.tar.gz Mpc 1.1.0 复数运算库 https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz GNU MPFR 4.0.2 多精度浮点计算库 https://www.mpfr.org/mpfr-current/mpfr-4.0.2.tar.gz isl 0.21 集和线性约束范围内整数点关系的操作库 http://isl.gforge.inria.fr/isl-0.21.tar.gz安装 HCC 编译器 1) 操作步骤 您可以使用 HCC tar 包将 HCC 安装到当前用户权限下的任何位置，而不会影响其他编译器的使用。 a) 介绍操作入口，例如用 XX 帐号登录 XX 环境。 b) 登陆 HCC 下载地址下载压缩包 hcc_arm64le.tar.gz c) 将 tar 包拷贝至您想要安装的目录。 命令脚本如下所示。 cp hcc_arm64le.tar.gz /path/to/your/dir d) 解压缩软件包。 命令脚本如下所示。 tar zxvf hcc_arm64le.tar.gz e) 设置环境变量。 设置环境变量命令脚本如下所示。 export PATH=/path/to/your/dir/hcc_arm64le/bin:$PATH HCC 编译器提供的编译工具在=/path/to/your/dir/hcc_arm64le/bin 目录下。 2) 安装后检查 HCC 编译器安装完成后，可以执行 aarch64-linux-gnu-gcc -v 命令查询 HCC 版本。 软件下载 源码下载：立即下载 据华为官方方面介绍，方舟编译器是首家完全替代语言虚拟机的静态编译器，完全不需要解释器。兼顾 Java 开发效率和C语言运行效率的编译器。相比现有的编译机制： 1. 方舟编译器是一种静态的编译方式，而现有的安卓系统，运行一个应用程序首先启动虚拟机，然后读入应用程序代码，逐条解释执行。会占用较多的处理资源，影响程序执行的效率。当然，也有包括 AOT 或 JIT 等提前或运行时的编译技术，把部分程序转换成机器码直接在 CPU 上执行。但是，仍旧无法做到 100% 做到摆脱虚拟机的执行，这也是当前安卓阵营不如 IOS 阵营的关键。 2. 华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码，手机安装应用程序后可全速运行程序，彻底消除虚拟机的弊病，带来效率上的极大提升。 3. 方舟编译器是在开发环境部署的编译器，而现有编译过程，主要发生在手机上，带来额外的资源消耗。 目前方舟编译器针对通用 ARM 芯片架构进行编译优化，未来将通过软硬件协同设计，将麒麟芯片的能力发挥到极致。同时方舟编译器支持 Java 标准用法，三方应用可直接进行编译，不需要修改代码。但如果希望获得更加好的性能或内存方面的提升，则可以通过调整代码结构，与方舟编译器配合优化来实现。