背景2024年3月30日,OpenHarmony如期而至的发布了4.1版本,开发套件同步升级到API10+API11。相比4.0Release版本,新增4000多个API,应用开发能力更加丰富。虽然社区也同步发布了4.1的release报告[4.1release报告](https:gitee.comopenharmonydocsblobmasterzhcnreleasenotesOpenHarmonyv4.1release.md)也列了不少特性说明,对熟悉的人可能看的很清晰明了。此文章就做了个表格,从代码层面进行另一种解读。这是借助了社区的编译...
2024-04-02 10:58:38 2.0w浏览 5点赞 5回复 4收藏
背景本章的主要内容为介绍OpenHarmony的应用自动化测试怎么进行,包括如何写,如何测,如何检视覆盖率和高级命令新建工程1.新建工程自带的UT:使用步骤就是点开Ability.test.ets然后点击abilityTest下的那个绿色箭头就可以看到下面的输出,默认工程会建立一个用例,所以执行结果就是Testspassed:12.运行日志可通过hilog查看3.命令行执行shellaatestbcom.example.myapplicationmentrytestsunittestetstestrunnerOpenHarmonyTest...
2024-01-19 18:38:26 1.2w浏览 2点赞 5回复 2收藏
OH4.0的Rust开发背景Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和构建编译。OpenHarmony为了集成CC++代码和提升编译速度,使用了GN+Ninja的编译构建系统。GN的构建语言简洁易读,Ninja的汇编级编译规则直接高效。为了在OpenHarmony中集成Rust代码,并最大程度发挥Rust和OpenHarmony中原有CC++代码的交互性,采用GN作为统一...
2024-01-18 11:28:26 5469浏览 3点赞 1回复 2收藏
背景NativeAPI(NDK)入门NativeAPI是OpenHarmonySDK上提供的一组native开发接口与工具集合(也称为NDK),方便开发者使用C或者C++语言实现应用的关键功能。NativeAPI只覆盖了OHOS基础的一些底层能力,如libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于JSAPI上的完整的OHOS平台能力。在应用中使用NativeAPI会编译成动态库打包到应用中。名词概念名词名词解释NativeAPIOHOSSDK里面native包提供的,面向三方应用...
2024-01-08 17:37:06 5976浏览 1点赞 3回复 0收藏
背景OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求,确保运行在OpenHarmony上的设备和业务应用能稳定、正常运行,同时使用OpenHarmony的设备和业务应用有一致性的接口和业务体验。OpenHarmony兼容性测评服务包括:产品兼容性技术规范文档与兼容性测试两部分,本文重点介绍兼容性测试。兼容性测试包括:acts、actsvalidator、hats、dcts、sstsOpenHarmony兼容性测试需要合作...
2024-01-05 10:23:51 4329浏览 2点赞 0回复 0收藏
背景OHOS的编译构建系统是由sh脚本(或bat脚本),python脚本,Gn和Ninja工具组成的编译构建框架。总体编译构建流程是根据产品配置,生成具体依赖关系,然后使用Gn配置构建目标,通过Gn生成ninja文件,然后执行ninja生成二进制,最后打包生成镜像的过程。本篇主要涉及配置文件规则和编译初期的规则检查。编译初期(prebuild)shell[OHOSINFO]Startbuilding...[OHOSINFO]Setcachesizelimitto100.0GB[OHOSINFO]generatedbuildprop...
2024-01-03 21:38:30 1.2w浏览 2点赞 1回复 2收藏
浅谈鸿蒙的一次开发多端部署背景万物互联时代,应用的设备底座将从几十亿手机扩展到数百亿设备。全新的全场景设备体验,正深入改变消费者的使用习惯,同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变,通过全场景多设备作为全新的底座,为消费者带来万物互联时代更为高效澝便捷的体验。新的场景同时也带来了新的挑战澞开发者不仅要支持更加多样化的设备,还要支持跨设备的协作。不同设备类型意味着不同的传感器...
2023-12-29 15:29:26 3950浏览 1点赞 0回复 0收藏
背景当我们浏览网站,相册,购物应用时,会发现有些图片会不断变化的,如图:这个对应HarmonyOS应用开发就需要我们用到Swiper组件,本篇我们就此组件进行介绍。Swiper组件介绍1,滑块视图容器,提供子组件滑动轮播显示的能力。shell该组件从APIVersion7开始支持。官方doc地址:https:developer.huawei.comconsumercndocharmonyosreferencesV2tscontainerswiper0000001427744844V2简单解读接口typescriptSwiper(controller:Swipe...
2023-12-28 22:22:41 2740浏览 0点赞 0回复 0收藏
背景当我们浏览购物应用时,比如某宝,某书,会发现浏览的布局都是错落有致的,如图:这个对应HarmonyOS应用开发就需要我们用到WaterFlow组件,本篇我们就此组件进行介绍。WaterFlow组件介绍1,WaterFlow是容器组件,内部分裂成行和列形式,通过容器自身的排列规则,将不同大小的“项目”自上而下,如瀑布般紧密布局。shell该组件从APIVersion9开始支持。官方doc地址:https:developer.harmonyos.comcndocsdocumentationdocrefe...
2023-12-26 18:21:07 3918浏览 1点赞 0回复 0收藏
背景2023年11月,OpenHarmony如期而至的发布了4.0版本,开发套件同步升级到API10。相比3.2Release版本,新增4000多个API,应用开发能力更加丰富。虽然社区也同步发布了4.0的release报告([zhcnreleasenotesOpenHarmonyv4.0release.md·OpenHarmonydocsGitee.com](https:gitee.comopenharmonydocsblobmasterzhcnreleasenotesOpenHarmonyv4.0release.md))也列了不少特性说明,对熟悉的人可能看的很清晰明了。此文章就做了个表格...
2023-12-15 11:06:06 1.1w浏览 2点赞 1回复 1收藏
简介在OpenHarmony仓里有一个稳定性自动化测试工具,叫Wukong。对应的仓位置是https:gitee.comopenharmonyostestwukong。这个工具是系统自带的命令行工具,下面先简单介绍下wukong的内容架构图Wukong内子模块职责:1.命令行解析:支持命令行获取参数并解析命令行参数。2.运行环境管理:根据命令行初始化wukong整体运行环境。3.系统接口管理:检查并获取指定的mgr,注册controller和dfx的faultlog的回调函数。4.随机事件生成:通...
2023-12-14 09:58:24 1.3w浏览 2点赞 5回复 1收藏
简介Strace是一个强大的进程行为跟踪工具,当怀疑某个进程运行异常的时候,比如死锁,CPU高或者莫名卡顿等,可以使用strace查看该进程发起的系统调用和接收到的信号,从而确定问题所在。当然也可以利用strace去学习了解进程的运行流程,调用库以及参数和统计。那么如何在OpenHarmony里编译使用此工具就是我们这篇文章要分享的话题。编译构建下载:从https:github.comstrace下载最新源码shell下载地址wgethttps:github.comstrace...
2023-12-13 15:13:15 6315浏览 2点赞 1回复 2收藏
简介Tcpdump是一个强大的网络抓包分析工具,那么如何在OpenHarmony里编译使用此工具就是我们这篇文章要分享的话题。编译构建下载:从http:www.tcpdump.org下载最新源码下载地址:wgethttps:www.tcpdump.orgreleasetcpdump4.99.4.tar.gz安装编译环境shell编译工具链(32位)sudoaptgetinstallgccarmlinuxgnueabiohos的源码下载后,其实也有对应的工具链,位置如下prebuiltsgcclinuxx86arm(32位)gcclinaro7.5.0armlinuxgnueabib...
2023-12-12 14:25:46 5508浏览 3点赞 3回复 3收藏
简介在OpenHarmony仓里有个三方库仓thirdpartytoybox,这就是为OpenHarmony的标准设备提供shell工具的工具库。LinuxToybox是一个轻量级的开源工具集,它提供了一系列UNIX命令行工具的替代品。Toybox旨在提供基本的命令行功能,以尽量减少依赖和二进制文件大小。Toybox项目最初是由Linux内核开发者RobLandley创建的,为了提供一个小巧、可移植且自包含的工具集。它被设计为与BusyBox类似,但更加简单和容易维护。Toybox支持许多...
2023-12-06 15:47:17 6466浏览 4点赞 2回复 1收藏
【本文正在参加2023年第一期优质创作者激励计划】简介媒体子系统是OpenHarmony中重要的子系统,可以提供音视频播放能力。媒体子系统为开发者提供一套简单且易于理解的接口,使得开发者能够方便接入系统并使用系统的媒体资源。媒体子系统提供以下常用功能:音视频播放(AVPlayer9+),AudioPlayer6+和VideoPlayer8+整合,升级了状态机和错误码,推荐使用音视频录制(AVRecorder9+),AudioRecorder6+和VideoRecorder9+整合,推荐...
2023-03-31 20:05:57 3851浏览 1点赞 0回复 0收藏
【本文正在参加2023年第一期优质创作者激励计划】HiDumper简介HiDumper是OpenHarmony中为开发、测试人员,IDE工具提供统一的系统信息获取工具,帮助使用者分析,定位问题。HiDumper主要包括以下几个主要模块:hidumper:可执行程序,工具入口,在板上可通过hidumper执行对应命令hidumperclient:动态库,提供framework层接口libdumpusage:动态库,提供framework层功能实现hidumperservice:动态库,sa服务,提供service层功能...
2023-03-29 14:48:37 7544浏览 6点赞 5回复 4收藏
【本文正在参加2023年第一期优质创作者激励计划】跟着小白一起学鸿蒙[番外]一起学做FlappyBird作者:王石简介小时候我们有个熟悉的游戏叫小蜜蜂。本文中引用的图片资源均来自与Github。开发1.HAP应用建立《跟着小白一起学鸿蒙[六]如何编写一个hap应用》里我们介绍了简单的Hap应用的开发以及基础控件的介绍,这里我们就不赘述Hap项目的建立过程,以下就是基础的Hap的page文件:index.etsjsbuild(){Row(){Column(){Canvas(this.co...
2023-03-26 11:24:34 4297浏览 1点赞 2回复 1收藏
【本文正在参加2023年第一期优质创作者激励计划】SELinuxSELinux说明SELinux(SecurityEnhancedLinux)是[美国国家安全局](NSA)对于[强制访问控制]的实现,是Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。SELinux基本概念主体Subje...
2023-03-24 17:25:59 5734浏览 2点赞 2回复 3收藏
【本文正在参加2023年第一期优质创作者激励计划】WPASupplicant连接方式简析shellthirdpartywpasupplicantCONTRIBUTIONS贡献说明COPYING版权说明wpasupplicant2.9轻量级系统的wpasupplicanthostapdWiFi热点相关功能(AccessPoint)hs20热点2.0(Hotspot2.0)相关功能srcWiFi热点与WiFi接入点共用的代码wpasupplicantWiFi接入相关功能(Station)wpasupplicantlibOpenHarmony对WiFi新开发的业务代码wpasupplicant2.9standard标准...
2023-03-15 18:26:01 5169浏览 4点赞 3回复 2收藏
【本文正在参加2023年第一期优质创作者激励计划】原理1.物理内存中开辟4096字节内存(1m8k)2.物理内存与磁盘内存对应3.mmu将mmap开辟的物理内存地址转换成虚拟地址Binder概述什么是BinderBinder最开始是IPC工具,起源于OpenBinder项目,发展于Android项目,现在已经和入LinuxKernel,目前演变成RPC工具,可以使当前进程调用另一个进程的函数向自身函数一样简单。OpenBinderisasystemforinterprocesscommunication.Itwasdeveloped...
2023-03-10 10:13:08 7648浏览 5点赞 3回复 4收藏