使用CPP编写小型系统app 原创 精华
前言
本文将介绍如何使用cpp编写用于小型系统的app。
一、ability相关介绍
Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。其中ability又分为Page类型的和Service类型的,前者是为用户提供人机交互能力的,后者是提供后台任务机制的,简单来讲就是Page带界面,Service不带界面。这里将重点介绍Page类型的ability。
使用到的子系统有ability子系统、包管理子系统和图形ui子系统。ability子系统是管理OpenHarmony应用运行状态的开发框架;包管理子系统是OpenHarmony为开发者提供的安装包管理框架;图形ui子系统提供基础UI组件和容器类组件。
二、简单实现
2.1 ability和abilityslice
abilityslice是单个页面及其控制逻辑的总和,是Page类型Ability特有的组件,一个Page类型的Ability可以包含多个AbilitySlice,此时,这些页面提供的业务能力应当是高度相关的。
2.2 生命周期
整体流程下来大致有OnStart()、OnAvtive()、OnInactive()、OnBackground()和OnStop()五阶段。abilityslice生命周期与ability相似,但是仍要区分。
2.3 hello world
首先定义并注册ability
最后编写slice界面
2.4 config.json的编写
三、hap编译
3.1 通过BUILD.gn与系统一并编译。
使用到编译链中的hap_pack,添加配置 import(“//build/lite/config/hap_pack.gni”)
3.2 通过app_packing_tool单独编译
该打包工具在源码目录developtools/packing_tool/jar下
主要参数如下
命令参数 | 对应的资源文件 | 说明 | 是否可缺省 |
---|---|---|---|
–mode | - | 为“hap”字段,打包生成Hap | 否 |
–json-path | 清单文件config.json | - | 否 |
–ability-so-path | 主功能so文件 | - | 是 |
–out-path | - | 生成的Hap包输出路径,默认为当前目录 | 是 |
具体操作
还是得先将动态库编译出来
然后将动态库libhello.so和config.json放到一个文件夹里
最后使用java -jar app_packing_tool.jar 进行打包 如下
四、hap安装
4.1 安装命令bm
由于小型系统不支持使用HDC工具,我们需要使用到bm命令进行安装程序。
4.2 相关参数
小型系统的bm指令是标准系统的阉割版
安装成功后就可以打开该app,部分小型系统的设备屏幕没有触摸功能和鼠标驱动,我们可以使用aa命令来启动app
总结
使用cpp编写用户应用程序,我们可以更方便有效的调用南向接口,这将会在开发和调试的过程中给我们带来极大的便利。
牛,这个对理解系统很有帮助
很详细的代码讲解
感谢大佬分享
不错不错,你跟红叶是什么关系?
我是大佬的粉丝儿 :>