HarmonyOS 鸿蒙Next是否支持 JIT 或 LLVM 内的 JIT 功能?

HarmonyOS 鸿蒙Next是否支持 JIT 或 LLVM 内的 JIT 功能?

您好,

我在进行鸿蒙 Next 开发时,有需求在应用中使用 JIT(Just-In-Time Compilation)相关能力,但这里的 JIT 并不涉及 JavaScript,而是指通用的原生代码 JIT,例如 交叉编译的 LLVM 集成到工程内使用其内部提供的 ORC JIT 等功能。

想请问:

  1. 鸿蒙 Next 是否允许在应用层或系统层运行非 JavaScript 的 JIT 编译器?
  2. 如果支持,是否可以直接在应用中集成并运行 LLVM 的 JIT 组件?
  3. 如果不支持,是否有官方推荐的替代方案,例如通过 Native 模块、AOT 预编译、动态链接等方式实现类似功能?

感谢官方团队解答!


更多关于HarmonyOS 鸿蒙Next是否支持 JIT 或 LLVM 内的 JIT 功能?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

LLVM不太清楚是啥,但是据了解,目前,非鸿蒙官方无法获取开发系统应用的权限。即不支持把功能做到系统层级。还是一个安全问题,开发者开发的系统应用如果出现不当功能(盗取用户数据),这个锅是要甩到官方头上的,除非能够让官方堵上所有信誉来作保。其实TX一直不适配就有这方面的问题,因为官方无法为TX担保用户数据的安全问题。

更多关于HarmonyOS 鸿蒙Next是否支持 JIT 或 LLVM 内的 JIT 功能?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


但是是有相关方面的方案,只是不是针对LLVM、或者不太成熟,

鸿蒙Next的方舟编译器采用AOT(Ahead-Of-Time)编译模式,目前官方文档未提及支持JIT(Just-In-Time)编译。LLVM的JIT功能在鸿蒙Next中也没有明确支持说明。鸿蒙的运行时主要依赖预编译的机器码执行,这与传统Java/Android的JIT机制不同。方舟编译器通过静态编译将字节码直接转换为机器码,运行时无需即时编译。

关于HarmonyOS Next对JIT功能的支持情况:

  1. 目前HarmonyOS Next对原生代码JIT的支持有限。系统主要推荐使用AOT(提前编译)方式,出于安全考虑,应用层直接运行非JavaScript的JIT编译器可能会受到限制。

  2. 直接集成LLVM的JIT组件(如ORC JIT)在应用层可能不可行。系统层级的JIT功能需要特殊权限,普通应用无法直接使用。

  3. 官方推荐的替代方案包括:

  • 使用ArkTS/TS语言的AOT编译
  • 通过Native API实现关键性能模块
  • 预编译动态库方式
  • 使用系统提供的性能优化接口

建议开发者关注官方文档中关于性能优化和Native开发的最新指南,以获取更详细的技术实现方案。

回到顶部