ArkUI-X与Android联动编译开发指南

简介: 本文介绍通过CLI工具链创建项目并生成联动编译脚本,实现Android Studio编译Android应用时自动编译ArkTS源码并将产物拷贝至Android工程。其功能包括手动配置ArkTS源码编译开关、编译module及文件输出路径。文章详细说明了编译配置方法,如设置`configBuildFlag`开关触发编译脚本、添加跨平台module(例:`moduleLists=entry,testmodule`)、修改Android的arkuix和systemRes输出路径。相关脚本位于`.arkui-x/android`目录。

本文主要介绍通过CLI工具链执行ace create project命令创建工程,生成联动编译脚本。使用Android Studio编译Android应用时,可联动编译ArkTS源码,并自动拷贝ArkTS产物到Android工程中。

其功能主要包括:

1.手动配置编译ArkTS源码开关
2.手动配置编译module
3.手动配置文件输出路径

编译配置说明

配置编译ArkTS脚本开关

在.arkui-x/android/app/build.gradle目录下设置configBuildFlag开关,可触发联动ArkTS源码编译脚本,默认为false,不执行编译ArkTS脚本文件。

//执行联动编译脚本开关.
def configBuildFlag = false

task ArkTSBuildTask {
   
  preBuild.dependsOn ArkTSBuildTask
  doLast {
   
    if (configBuildFlag) {
   
      def os = System.getProperty("os.name").toLowerCase()
      if (os.contains("win")) {
   
        exec {
   
          //Windows系统执行此命令触发联动编译
          commandLine 'cmd', '/c', '.\\\\buildArkTs'
          workingDir file( project.projectDir.getAbsolutePath() + '\\\\..' )
        }
      } else {
   
        exec {
   
          //Linux和Mac系统执行此命令触发联动编译
          commandLine 'sh', '-c', 'chmod +x ./buildArkTs && ./buildArkTs'
          workingDir file( project.projectDir.getAbsolutePath() + '/..' )
        }
      }
    }
  }
}

配置编译module

可手动在Android工程下的buildArkts脚本中添加跨平台module,默认编译entry,用于编译指定module文件。

例:moduleLists=entry,testmodule

moduleLists=entry

配置Android的arkuix输出路径

可手动在Android工程下的buildArkts脚本中修改Android应用中module的输出路径。

android_arkuix_path="$project_path/.arkui-x/android/app/src/main/assets/arkui-x"

配置Android的systemRes输出路径

可手动在Android工程下的buildArkts脚本中修改Android应用中systemRes的输出路径。

android_systemRes_path="$project_path/.arkui-x/android/app/src/main/assets/arkui-x/systemres"

编译脚本目录

.arkui-x/android目录,新增编译ArkTS脚本:

相关文章
|
2月前
|
存储 IDE 开发工具
ArkUI-X跨平台框架接入指南
ArkUI-X是ArkUI的跨平台扩展框架,支持OpenHarmony、Android和iOS等多平台开发,未来还将增加更多平台支持。开发者只需一套主代码即可构建高性能、精美的多平台应用。使用DevEco Studio进行ArkUI-X开发时,需注意:仅支持ArkUI-X源码调试,各平台Native代码需用对应IDE处理;支持真机与模拟器调试;需配置相关SDK(如Android SDK)及环境变量(如ANDROID_HOME)。创建工程后,可通过DevEco Studio编译生成跨平台应用包,并在不同平台上运行查看效果。
231 64
|
1月前
|
API Android开发 开发者
ArkUI-X跨平台应用改造指南
随着HarmonyOS Next 5.0的发布,基于ArkTS开发的应用日益丰富,但也面临多平台适配的挑战。ArkUI-X框架提供“一次开发、三平台部署”解决方案,助力开发者高效实现跨平台应用。本文介绍如何通过ArkUI-X将HarmonyOS Next应用改造为支持Android与iOS的跨平台工程,涵盖产品定制层(products)、基础特性层(features)和公共能力层(commons)的设计与实现,优化代码复用与交互一致性。
142 52
|
1月前
|
JSON API Android开发
ArkUI-x跨平台Bridge最佳实践
ArkUI-X框架的bridge核心架构思想旨在实现ArkTS与平台原生语言(如Java、OC)之间的通信,支持业务层通信及跨平台API中转。bridge具备三种能力:多种桥接模式(JSON、二进制、线程并发)、数据与方法互传,以及“一码三平台”支持。通过分层架构设计,上层业务调用统一接口,下层实现平台差异化逻辑。FAQ部分提供了HMS API跨平台改造方案,包括动态import优化以避免crash问题,提升代码效率与整洁性。
132 44
|
1月前
|
移动开发 开发工具 Android开发
ArkUI-X跨平台技术落地-华为运动健康(二)
本文介绍了ArkUI-X在华为运动健康应用中的实践,涵盖原生与ArkUI界面参数传递、跨平台bridge桥接通信、平台差异化动态编译处理及性能表现。通过intent与putExtra()实现页面参数传递,定义5类bridge(数据、设备、页面跳转、日志、用户账户)提升跨平台与原生交互能力。采用编译前动态修改import技术屏蔽多端差异,确保业务代码复用。ArkUI-X跨平台页面达到60fps滑动帧率,包体积增加19MB,内存表现与原生持平。目前心脏健康模块已在iOS商用,Android版处于Beta阶段,未来将迁移更多高频模块至ArkUI-X框架,进一步提升开发效率与用户体验。
|
1月前
|
移动开发 JSON Android开发
ArkUI-X跨平台技术落地-华为运动健康(一)
华为运动健康App在多端开发中面临工作量大和体验不一致的问题,传统H5技术虽可跨平台但性能不足。为此,在鸿蒙NEXT版本开发中引入ArkUI-X框架,实现“一次开发、三端部署”。具体策略为:首页保留原生开发,二级页面(如心脏健康、睡眠)采用ArkUI-X技术复用代码,三级及低频页面仍使用H5。同时,通过抽象数据平台接口、bridge桥接底层能力差异等方式,解决多端数据与功能适配问题,大幅降低开发成本并提升用户体验一致性。架构设计上,新增独立跨平台Entry模块与健康Module,支持编译hap包供Android和iOS复用,形成高效跨平台解决方案。
|
1月前
|
Android开发 开发者
ArkUI-X中Plugin生命周期开发指南
ArkUI-X插件用于扩展ArkUI应用功能,支持管理插件生命周期。本文聚焦于Android平台ArkUI-X插件生命周期的使用,介绍如何通过实现`IArkUIXPlugin`接口创建插件,包括`onRegistry`初始化和`onUnRegistry`销毁方法。开发者可通过`addPlugin`方法在`StageActivity`中注册插件,确保调用顺序正确(需在`super.onCreate()`前)。示例代码展示了插件的创建、资源管理和注册流程,帮助开发者快速上手。
123 57
|
1月前
|
开发工具 Android开发
ArkUI-X添加到现有Android项目中
本教程介绍如何使用ArkUI-X SDK开发Android AAR,实现ArkTS声明式开发在Android平台的显示。主要内容包括:1) 跨平台Library工程开发;2) AAR在Android应用中的集成方式。通过ACE Tools或DevEco Studio完成AAR构建,初始化ArkUI-X,并通过Activity或Fragment加载页面。具体步骤涵盖工程创建、构建AAR包、配置Manifest及使用Intent或Fragment打开页面等。
133 57
|
1月前
|
IDE API 开发工具
ArkUI-X平台差异化
跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台不同进行一定代码差异化适配。当前仅支持在代码运行态进行差异化,接下来详细介绍场景及如何差异化适配。
110 43
|
1月前
|
开发框架 开发工具 Android开发
ArkUI-X应用工程结构说明
本文档介绍了ArkUI-X的跨平台开发框架,扩展OpenHarmony ArkUI至Android和iOS平台。开发者可复用大部分UI与逻辑代码,降低跨平台开发成本。文档详细说明了应用工程目录结构,包括跨平台模块配置(`arkui-x-config.json5`)以及ArkTS、ArkUI资源的编译构建流程。在Android平台上,资源通过`assets`管理;在iOS平台上,资源通过`Bundle Resources`管理。此外,还展示了Android与iOS应用工程的具体结构,涵盖编译后的字节码文件、资源文件及框架动态库等内容。
|
1月前
|
JSON Java API
ArkUI-X平台桥接Bridge说明
平台桥接实现ArkUI与Android/iOS间的双向数据传递及方法调用,支持数据类型包括JSON和二进制格式,适用于复用平台代码、跨平台API缺失的场景。开发者可通过Bridge API自定义Android或iOS代码,完成如数据传递、调用平台API或复用三方库等功能。文档提供ArkTS与Java/Objective-C交互的详细指引,涵盖基础数据类型、数组和结构化数据的支持。