前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >技术创作特训营第一期|ACE Tools构建跨平台应用

技术创作特训营第一期|ACE Tools构建跨平台应用

原创
作者头像
徐建国
发布于 2023-08-09 03:39:44
发布于 2023-08-09 03:39:44
43900
代码可运行
举报
文章被收录于专栏:个人路线个人路线
运行总次数:0
代码可运行

ACE Tools构建跨平台应用

本教程主要讲述如何通过ACE Tools将OpenHarmony开发范式扩展到跨平台进行开发,包括:

  • 基本工程开发
  • Native C++开发
  • AAR/Framework开发
  • 多Ability开发
  • 多Module开发

基本工程开发

1.执行 ace create 命令创建一个简单工程,按照提示填写工程名和相关信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ace create project
? Please enter the project name: HelloWorld
? Please enter the bundle name (com.example.helloworld):com.jianguo.helloworld
? Please enter the system (1: OpenHarmony, 2: HarmonyOS): 1
? Please enter the project type (1: Application, 2: Library): 1
? Please enter the template (1: Empty Ability, 2: Native C++): 1   //选择创建Empty Ability或者Native C++项目

2.创建的工程结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HelloWorld
├── .arkui-x
|   ├── android         //Android应用工程
|   └── ios             //iOS应用工程             
├── AppScope                             
├── build-profile.json5
├── entry               //Module模块
├── hvigor
├── hvigorw
├── hvigorw.bat
└── oh-package.json5

3.工程结构与通过DevEco Studio构建的跨平台工程一致。

4.执行ace build命令,即可完成对ArkTS源码编译和应用打包,构建出相应的跨平台应用。

Native C++开发

ACE Tools支持开发者进行Native C++开发跨平台。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ace create project
? Please enter the project name: HelloWorld
? Please enter the bundle name (com.example.helloworld):com.jianguo.helloworld
? Please enter the system (1: OpenHarmony, 2: HarmonyOS): 1
? Please enter the project type (1: Application, 2: Library): 1
? Please enter the template (1: Empty Ability, 2: Native C++): 2   //选择创建Empty Ability或者Native C++项目

注: iOS工程结构没有变化,通过iOS工程配置,便会将source目录下的hello.cpp文件编译到应用当中。

1.新增工程结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HelloWorld
├── .arkui-x
|   ├── android/app/src/main  
|   |   └── cpp
|   |       └── CmakeLists.txt
|   └── ios             
├── AppScope                             
├── build-profile.json5
├── entry/src/main
|   └── cpp                 //Native C++
|       ├── types/libentry
|       |   ├── index.d.ts 
|       |   └── oh-package.json5
|       ├── CMakeLists.txt
|       └── hello.cpp 
├── hvigor
├── hvigorw
├── hvigorw.bat
└── oh-package.json5

2.执行ace build命令,即可构建出带有Native C++的跨平台应用。

AAR/Framework开发

ACE Tools支持开发者针对Android平台开发AAR。

1.需要在创建工程时,选择工程类型为library。工程结构和简单工程类型一致,区别为Android目录工程

2.执行ace build命令即可构建相应目标平台的library产物:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ace build aar        //构建Android平台的AAR产物
ace build framework  //构建iOS平台的Framework产物

多Ability开发

ACE Tools支持开发者针跨平台进行多Ability开发。

1.执行如下命令,按提示填写Ability名称即可创建Ability模块

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd entry
ace create ability
? Please enter the ability name:Second

2.该命令会在entry、android和ios目录下增加相应的ability适配代码,如下只展示新增部分

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HelloWorld
├── .arkui-x
|   ├── android/app/src/main/java/com/example/demo
|   |   └── EntrySecondAbilityActivity.java         //Android侧适配Ability代码                   
|   └── ios/app
|       ├── EntrySecondAbilityViewController.h      //iOS侧适配Ability代码
|       └── EntrySecondAbilityViewController.m      //iOS侧适配Ability代码                        
|               
└── entry/src/main/ets              
    └── SecondAbility           //SecondAbility
        └── SecondAbility.ets             

3.执行ace build app/apk 命令,即可完成对多Ability场景下ArkTS源码编译和打包,构建出相应的iOS或Android应用。

多Module开发

ACE Tools支持开发者针对跨平台进行多Module范式开发。

1.执行如下命令,按提示填写Module名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd entry
ace create ability
? Please enter the module name: feature1

2.执行ace create module 命令,按照提示输入module name,示例名称为feature1。该命令会在entry、android和ios目录下增加相应的ability代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HelloWorld
├── .arkui-x
|   ├── android/app/src/main/java/com/example/demo
|   |   └── Feature1Feature1AbilityActivity.java         //Android侧适配Ability代码
|   └── ios/app
|       ├── Feature1Feature1AbilityViewController.h      //iOS侧适配Ability代码
|       └── Feature1Feature1AbilityViewController.m      //iOS侧适配Ability代码                        
├── entry              
└── feature1        //新增的feature1模块

3.执行ace build app/apk 命令,即可完成对多module场景下ArkTS源码编译和打包,构建出相应的iOS或Android应用。

最后想说,作为一个跨平台框架的出现,如果有朝一日,可以有Flutter般的丝滑体验,就不错啦。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ACE Tools使用指南
ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等。
徐建国
2023/12/28
9210
ACE Tools使用指南
ArkUI-X跨平台已至,何需其它!
我们之前可能更多接触的是ArkUI,我们都知道ArkUI是一套构建分布式应用的声明式UI开发框架。如今ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,四个平台。未来也会支持更多的平台。
徐建国
2023/12/28
7870
ArkUI-X跨平台已至,何需其它!
ArkUI-X应用工程结构说明
本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。
龙儿筝
2025/06/19
650
ArkUI-X跨平台框架接入指南
ArkUI跨平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台:目前支持OpenHarmony、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。
龙儿筝
2025/05/18
1610
ArkUI-X跨平台框架接入指南
ArkUI-X跨平台已至,何需其它!
我们之前可能更多接触的是ArkUI,我们都知道ArkUI是一套构建分布式应用的声明式UI开发框架。如今ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,四个平台。未来也会支持更多的平台。
小帅聊鸿蒙
2024/07/05
4030
ArkUI-X跨平台已至,何需其它!
ArkUI-X添加到现有Android项目中
本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:
龙儿筝
2025/05/28
940
ArkUI-X添加到现有Android项目中
ArkUI-X构建Android平台AAR及使用
本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:
龙儿筝
2025/06/12
640
鸿蒙跨平台 ArkUI-X从入门到入土
喊了好长时间要做鸿蒙应用,自己也写了一点,但要同时照顾三个移动平台有点恶心,大致看了一下鸿蒙社区的 arkui-x 跨平台方案 https://gitee.com/arkui-x[1] ,先调研一下试试水
徐建国
2024/01/31
2.4K0
鸿蒙跨平台 ArkUI-X从入门到入土
跨Android、iOS、鸿蒙多平台框架ArkUI-X
ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。
小帅聊鸿蒙
2024/07/08
4240
跨Android、iOS、鸿蒙多平台框架ArkUI-X
ArkUI-X 5.0.5 Release (API7)发布:安卓适配全面升级,跨平台能力再突破
本文聚焦 ArkUI-X 5.0.5 Release 版本更新,重点介绍其在安卓平台适配、跨平台框架能力、开发工具易用性及组件与 API 扩展等方面的核心升级内容,同时提供版本与平台配套关系及实践指引,帮助开发者快速掌握新版本特性。
徐建国
2025/05/21
1240
ArkUI-X 5.0.5 Release (API7)发布:安卓适配全面升级,跨平台能力再突破
ArkUI-X跨平台技术落地-华为运动健康(一)
目前,华为运动健康App在Android 和 iOS均有独立的客户端工程,在原生页面部分,两个客户端独立开发,代码各自维护和演进,会带来各自独立的开发工作量,并且两个端之间的交互体验也无法做到一致。
龙儿筝
2025/06/18
500
ArkUI-x跨平台Bridge最佳实践
平台桥接机制是ArkUI-X框架提供的⼀种ArkTs语⾔和平台原⽣语⾔(Java、OC)之间通信的机制,⽅便⼆者互相调⽤。需要说明的是,平台桥接机制必须在打开ArkUI界⾯时才能进⾏,不能在⾮ArkUI界⾯触发。平台桥接机制有两种应⽤场景:
龙儿筝
2025/06/10
410
跨平台开发鸿蒙原生应用
uni-app 是一个使用 Vue.js[1] 开发所有前端应用的框架,开发者编写一套代码,可发布到 HarmonyOS、iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
徐建国
2024/11/12
3230
跨平台开发鸿蒙原生应用
ACE Tools环境配置指导【macOS】
ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等,以下是详细的环境配置指导。
徐建国
2023/12/28
4330
ACE Tools环境配置指导【macOS】
【HarmonyOS 5】鸿蒙跨平台开发方案详解(二)
作为最早实现鸿蒙适配的跨平台框架,Flutter在社区推动下已形成较完整的技术方案。当前鸿蒙版Flutter已发布3.22.0-ohos版本,该版本基于Flutter 3.22.0核心。
GeorgeGcs
2025/06/25
450
【HarmonyOS 5】鸿蒙跨平台开发方案详解(二)
ArkUI-X 5.0.4 Release:跨平台开发的全新体验
随着 ArkUI-X 5.0.4 Release 版本的发布,开发者们迎来了一个更加强大、灵活且高效的跨平台开发框架。ArkUI-X 作为鸿蒙生态中的重要一员,不仅在功能上不断丰富和完善,还通过持续优化开发体验,吸引了越来越多的开发者加入鸿蒙开发的行列。本文将详细介绍 ArkUI-X 5.0.4 Release 的新特性和优化内容,以及它在跨平台开发中的优势。
徐建国
2025/04/18
2540
ArkUI-X 5.0.4 Release:跨平台开发的全新体验
技术创作特训营第一期|ArkUI—X跨平台应用视频播放器
ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。
徐建国
2023/08/09
7240
鸿蒙ArkUI-X简介
ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。
龙儿筝
2024/11/28
2110
ArkUI-X与Android联动编译开发指南
本文主要介绍通过CLI工具链执行ace create project命令创建工程,生成联动编译脚本。使用Android Studio编译Android应用时,可联动编译ArkTS源码,并自动拷贝ArkTS产物到Android工程中。
龙儿筝
2025/06/16
700
ArkUI-X跨平台应用改造指南
随着 HarmonyOS Next 5.0 版本正式发布,众多开发者基于 ArkTS 语言为 HarmonyOS Next 系统开发了大量应用,这极大地丰富了 HarmonyOS 的生态。越来越多的应用上线,也给开发者带来了挑战,开发者需要同时开发和维护适用于 HarmonyOS Next、Android、iOS 三个平台的应用程序。这不仅意味着开发工作量大幅增加,开发成本也随之上升,而且很难保持一致的交互体验。
龙儿筝
2025/06/16
1080
推荐阅读
相关推荐
ACE Tools使用指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验