
Harmonyos与OpenHarmony
文章平均质量分 70
分享最新的Harmonyos与OpenHarmony相关知识
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
龚礼鹏
更多免费垃圾内容见微信公众号:龚礼鹏。Android应用架构师、AndroidFramework工程师、OpenHarmony应用开发工程师、OpenHarmony Framework工程师、flutter开发工程师,擅长用java、kotlin、arkts、c++、dart写hello world
展开
-
OpenHarmony 框架层电池相关重要类解析
此处就是应用层获取电池电量和充电状态的数据,然后我们继续看下是如何调用Framework层的。原创 2025-03-19 19:55:06 · 228 阅读 · 0 评论 -
OpenHarmony 5.0 拨号键盘自定义暗码启动其他应用
有一个需求,需要自己写一个隐藏的应用,然后又不能让客户看到,需要在拨号盘输入特定的暗码进入此应用。上述就是截取*#*#到#*#*中间的数字,然后如下是对数字进行处理。处理module.json5文件,修改skills中的数数组。然后如果符合当前的暗码进行处理。constacts中。原创 2025-03-13 19:59:45 · 82 阅读 · 0 评论 -
OpenHarmony项目的应用在DevEco Studio配置项目中固定的一键签名
由于手动签名需要在DevEco Studio中将应用先编译出未签名的包,然后在手动签名这个未签名出来的包,步骤比较繁琐,所以考虑直接在DevEco Studio中配置签名可以进行一键安装。如上配置完成就可以一键安装了,并且和自动签名相比签名不会变化,后续可以将代码上传,其他小伙伴无需任何配置,直接可以一键安装了。上述可以看出来有四个步骤,然后第二步生成的 certChain 步骤中后缀名改成.cer。上面步骤会生成fctTest.cer 签名文件。原创 2025-03-13 17:06:16 · 165 阅读 · 0 评论 -
鸿蒙面试题
该工具可以监测性能、功耗相关指标,包括FPS、CPU、GPU、RAM、Temp等,通过量化的指标项了解应用、整机性能状况。随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和配置文件,通过HSP可以实现代码和资源的共享。HAP包是由代码、资源、第三方库、配置文件等打包生成的模块包,其主要分为两种类型:entry和feature。原创 2025-02-13 16:59:17 · 809 阅读 · 0 评论 -
OpenHarmony 源码单编流程
本章节介绍如何在OpenHarmony源码中进行hap的单编工作,这样可以大大提升我们的效率。原创 2025-02-10 19:39:16 · 62 阅读 · 0 评论 -
OpenHarmony 5.0无法监听按键
上述的方式也是监听不到。原创 2025-02-06 17:24:22 · 207 阅读 · 0 评论 -
OH 5.0中设置full sdk
首先在DevEco Studio Next版本里面没有设置HarmonyOS的sdk位置,都是默认设置的public sdk,然后我们需要将HarmonyOS设置改成OpenHarmony设置,并且将full sdk放在对应OpenHarmony sdk的位置上,让其可以使用full sdk。其他位置的runtimeOS也改成OpenHarmony即可。然后我们就可以正确的使用full sdk了。原创 2025-02-06 10:55:58 · 189 阅读 · 0 评论 -
Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录二
然后继续记录踩坑,如下开始是代码中报错,主要是3.2中的一些api在5.0中不支持,所以要进行修改。原创 2025-02-05 19:44:52 · 152 阅读 · 0 评论 -
Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录(一)
我们将3.2的项目放在5.0的sdk以及deveco studio next上面的运行结果首先是报错如下:这里我们直接点击Migrate Assistant让他自动修复然后会让你选择当前版本,如果是5.0就选择5.0,如果是5.1就选择5.1,如下:点击migrate,我这里已经点击过了然后会继续报错如下:这里我们继续点击Auto-fix 让其自动修复。原创 2025-02-05 13:22:12 · 499 阅读 · 0 评论 -
鸿蒙 log抓取
一般场景我们可以通过DevEco Studio来抓取日志,但是现在有一个这个场景,设备在出问题期间是连接不上电脑的,无法抓取实时日志,这时候我们就需要让设备在本地抓取日志。则需要重新启动设备就可以开启日志抓取了。如下是指令执行成功后的效果。然后就开始抓取日志了。原创 2024-12-24 14:27:27 · 478 阅读 · 0 评论 -
OpenHarmony 3.2 调用获取指定网络接口信息报错,DHCP报错:callback error 29189
查看日志可以看出来在29189附近有crash,是netmanager出现了crash,而我们这个就是和网络有关的,所以怀疑是这个netmanager crash导致功能不正常,然后我们继续排查crash日志,如下。客户在设置里面调用这个接口,获取以太网信息,问题是刚连上网点击设置中的以太网会提示报错,并且不可恢复,需要关机重启才能恢复。这样客户调用此接口就不会一直报错,只有在网卡没有初始化好,ip地址没有获取到之前可能会有报错,ip地址获取成功后就不会报错了。添加判空并返回错误码即可。原创 2024-12-23 20:15:45 · 225 阅读 · 0 评论 -
OpenHarmony 3.2 网卡获取ip地址缓慢分析
然后其实就是调用到CheckReadBytes函数和CheckPacketIpSum函数,再看下CheckPacketIpSum函数的内容,可以对比下如上日志,这个500ms的耗时就是这么来的。另外,在DHCP client进程收发包时,由于设备是没有IP地址的,因此在通过socket收包时要使用raw socket来接收报文。现在就是最后一步,等待服务端响应,从前面的梳理可以看出来基本和前面的响应是差不多流程的,然后就是在响应的类型不一样,是Ack,看一下如下日志。考虑下这里进程睡眠500ms的影响?原创 2024-12-21 21:21:26 · 157 阅读 · 0 评论 -
OpenHarmony中HDC相关操作源码
目前所知道的路径就是在/developtools/hdc/src/daemon/daemon_unity.cpp中进行指令的执行。本次主要记录OpenHarmony中的HDC相关操作的源码位置,为后续有hdc相关修改可以进行快速的查询。也可能在具体的函数中,比如之前说的切换usb连接还是切换ip连接的就是在 SetDeviceRunMode方法中。首先找到hdc相关的代码逻辑模块位置,路径:xxx\developtools\hdc。如果想干掉hdc的所有功能,就是如下的patch。原创 2024-12-05 19:32:10 · 109 阅读 · 0 评论 -
鸿蒙应用获取wifi连接的ip地址(官方文档获取的格式转换成192.168.1.xxx格式)
本次来学习如何获取到鸿蒙设备连接wifi后的ip地址,由于官网文档中获取的ip地址和我们平时看到的192:168:xxx:xxx有所不同,需要进行下转换,所以记录下,如下的流程是在OpenHarmony 3.2 Release版本进行开发测试的。获取 macAddress 还需申请ohos.permission.GET_WIFI_LOCAL_MAC权限,无该权限时,macAddress 返回空字符串。所以这个格式和我们看到的192.168.xxx.xxx是不符合的,所以需要进行转换。原创 2024-12-05 14:40:40 · 458 阅读 · 0 评论 -
OpenHarmony修改hdc默认为局域网连接模式
当前是基于OpenHarmony 3.2的版本做的定制,然后由于当前版本后续会干掉usb连接,需要将hdc从默认的usb连接模式修改成局域网连接模式。原创 2024-12-05 11:19:38 · 260 阅读 · 0 评论 -
OpenHarmony源码中添加预置应用
有一个这样的需求,需要将我们自己的测试工具hap包集成到OpenHarmony系统中,在刷机的时候就可以像系统应用一样是系统自带的应用,所以下面我们就来介绍如何将应用集成到系统中。将编译好的hap包放到xxx\applications\standard\hap路径下,如下就是我们将测试工具Fct.hap放到路径下面。vendor/xxx/xxx/preinstall-config/install_list.json添加代码,配置其可以安装。代码如下:其中xxx.xxx.xxx是包名。原创 2024-12-05 09:59:07 · 340 阅读 · 0 评论 -
鸿蒙应用如何进行文件下载(官方文档13499999错误解决方案)
为何记录鸿蒙应用下载文件的流程,主要是因为官网的文档有坑,写的有问题,我是在3.2版本的进行开发的,如下是3.2的OpenHarmony关于文件上传和下载方面的文档,其实上传我没有尝试,但是应该是同一个问题。最后就是调用如上的downloadTest方法,其中progresCallback中是显示进度的,如下就是正在下载中。然后下载完成会在应用的包名下面找到,由于有沙箱机制,所以代码中的路径和实际路径是有差异的,如下就是下载后的文件。如下是完整代码,其中下载地址我也写上去了,目前还能用,可以直接测试。原创 2024-11-28 20:00:53 · 218 阅读 · 0 评论 -
鸿蒙开发与Android开发对比
前期主推JavaScript Framework(JSF)进行UI和业务逻辑开发,同时也支持Java和Kotlin,当前的纯血鸿蒙开发只能使用ArkTs语言进行开发。总结,鸿蒙和Android在开发体验、生态系统和目标市场等方面存在显著差异,开发者在选择时需考虑这些因素以及各自的项目需求。Java和Kotlin是主要的开发语言,Java曾是传统选择,Kotlin现在被广泛推荐并成为首选。具有庞大的开发者社区和丰富的应用市场,Google Play商店提供大量应用。原创 2024-10-28 15:03:04 · 577 阅读 · 0 评论 -
鸿蒙应用开发将Promise的多个异步处理改成同步处理,解决回调地狱问题
其实在实践过程中大家会发现鸿蒙中的很多api都是异步的,我们如果用异步开发的步骤需要在回调中进行处理,如果有多个异步操作就会嵌套多层,这样看起来代码很紊乱。如果是在for循环中添加多个异步操作,则数据会造成紊乱,因为是异步操作for循环不会等待异步操作完成再进行下一个循环,他会立即进入循环,所以就会出现数据紊乱。原创 2024-06-18 09:47:43 · 632 阅读 · 0 评论 -
OpenHarmony及鸿蒙应用的屏幕亮度获取以及设置
对应的OpenHarmony版本:V3.2查找资料发现V3.2版本的OpenHarmony没有获屏幕亮度的接口,只有设置屏幕亮度的接口,这个就很奇怪,所以我最终的方案是获取屏幕亮度使用老的接口,设置屏幕亮度使用新的接口,这样就完成了这个需求。原创 2024-05-31 10:58:33 · 523 阅读 · 0 评论 -
OpenHarmony以及HarmonyOS应用监听亮屏息屏
表示设备屏幕关闭且设备处于睡眠状态的普通事件的动作。表示设备屏幕打开且设备处于交互状态的公共事件的操作。原创 2024-05-30 19:51:38 · 325 阅读 · 0 评论 -
OpenHarmony应用开启Service以及完成自启动和常驻
由于有需求实现一个后台常驻服务,这里就是来实现在鸿蒙里面如何实现后台服务并且实现自启动和常驻。原创 2024-05-28 20:12:47 · 1722 阅读 · 1 评论 -
OpenHarmony应用在DevEco Studio配置默认密钥为123456的签名如何进行一键签名,运行起来
可以看出上面的要求纯数字是不行的,但是按照上面的签名方式步骤又很复杂,所以我还是喜欢一步到位的操作,目前来看官方的方式肯定不行了,需要另辟蹊径,思路是1.完成自动化签名操作 2.将自动化签名操作放到DevEco Studio中。最后两个 属性是未签名的hap路径以及签名过后的路径,签名输出的路径最好就是和DevEco Studio的一致,这样好进行后续的DevEco Studio配置。注意路径都是绝对路径,我这边尝试相对路径是报错的,我这边对应的文件如下,如果有不明白的需要参考。然后在Name中添加名称。原创 2024-05-28 19:41:07 · 445 阅读 · 0 评论 -
应用中添加ServiceExtensionAbility然后安装HAP时提示“code:9568344 error: install parse profile prop check error”错误
该问题可能是由于应用使用了应用特权,但应用的签名文件发生变化后未将新的签名指纹重新配置到设备的特权管控白名单文件install_list_capability.json中,请通过如下步骤进行解决。在启动调试或运行应用/服务时,安装HAP出现错误,提示“error: install parse profile prop check error”错误信息。去掉冒号后的签名指纹为:5753DDBC1A8EF88A62058A9FC4B6AFAFC1C5D8D1A1B86FB3532739B625F8F3DB。原创 2024-05-27 16:47:11 · 562 阅读 · 0 评论 -
OpenHarmony与HarmonyOS应用出不同环境的包以及在代码中获取不同包的标识
官网中没有具体说明该怎么在代码中获取到不同的版本,但是可以看到根据不同的target可以加载不同的资源,所以我们的思路是根据不同的版本加载不同的资源,我们可以把版本名称放到资源文件中,这样不同的版本在代码中获取的版本名称就是不一样的。在原先的基础上新建多个资源文件夹(这个和你需要出的版本对应的),如下是我需要新建两个版本的资源文件夹,然后在资源文件夹中添加字符串进行区分,我这里是写的target_name。这就是我们平时的获取资源文件的value一样的,如下是获取target_name的value。原创 2024-04-23 16:48:26 · 260 阅读 · 0 评论 -
OpenHarmony及HarmonyOS应用中如何封装so包
其实鸿蒙应用的封装so包和android是一致的,都是在cmake中进行操作。原创 2024-04-23 16:17:08 · 243 阅读 · 2 评论 -
openharmony 编译源码及docker相关操作
编译完成后生成pac包路径:out/uis7885/packages/phone/images/uis7885_nosec_userdebug.pac。user版本: ./build.sh --product-name uis7885 --ccache --build-variant user。打包脚本路径:device/board/sprd/uis7885/pac/ImageFiles/flash.cfg。编译完成后生成镜像路径:out/uis7885/packages/phone/images。原创 2024-04-17 09:44:28 · 307 阅读 · 0 评论 -
HarmonyOS以及OpenHarmony清除分区数据方法
hdc shell。原创 2024-04-09 14:00:53 · 213 阅读 · 0 评论 -
鸿蒙&OpenHarmony Usb相关事件监听
USB子系统面向应用发布如下系统公共事件,应用如需订阅系统公共事件,请参考公共事件接口文档。原创 2024-03-26 16:44:52 · 330 阅读 · 0 评论 -
鸿蒙实现沉浸式全屏模式
如上是鸿蒙开发中实现沉浸式的两种方式,当然也可以分别隐藏导航栏或者状态栏。原创 2024-03-26 16:37:07 · 828 阅读 · 0 评论 -
鸿蒙将资源文件转成字符串
通过如下代码:原创 2024-03-26 16:28:54 · 420 阅读 · 0 评论 -
鸿蒙应用native开发入门以及运行native项目报错spawn EPERM问题解决以及so包调用
然后点击Next,编辑好项目相关配置及信息,然后点击finish即可。禁用了,所以出现此错误,网上搜索没有一点线索!此处的报错是公司电脑限制导致的,由于。会出现如下打印,说明我们的这个。这样我们第一个鸿蒙应用调用。文件,让其将前面步骤的。点击运行成功后会出现。原创 2024-03-05 20:30:31 · 549 阅读 · 0 评论 -
DevEco Studio编译不了native项目
此问题在网上找不到任何资料,我这边原因是公司电脑做了限制,让我cmake运行不了,导致报错。原创 2024-02-27 15:48:35 · 168 阅读 · 0 评论 -
OpenHarmony隐藏应用(应用不在桌面显示,隐藏应用图标)
注意:此种方式是在OpenHarmony系统中生效。原创 2024-01-29 15:43:24 · 460 阅读 · 0 评论 -
OpenHarmony以及HarmonyOS封装接口提供SDK(har包)以及代码混淆
配置完环境变量需要点击一下如下的init.bat。如上两个环境变量需要加到系统变量的path中。然后应该就可以正常执行ohpm相关指令了。指令执行成功就可以在应用中调用了。原创 2024-01-26 11:46:36 · 397 阅读 · 0 评论 -
OpenHarmony 快速集成轻量级存储(dataPreferences)工具类
OpenHarmony中也有类似于Android的SharedPreferences的轻量级存储,名字叫dataPreferences,这里省略介绍,直接放工具类。调用getPreferencesData方法获取值,第一个参数是key,第二个参数是value的回调。将上述的initPreferenceData方法在onWindowStageCreate中进行调用。调用putPreferencesData方法存入键值对,第一个是key,第二个是value。二.然后新建工具类拷贝如下代码。原创 2023-12-29 15:06:43 · 639 阅读 · 0 评论 -
OpenHarmony 应用通用签名
本次内容主要是OpenHarmony的手动签名。原创 2023-12-29 10:53:55 · 1324 阅读 · 0 评论 -
openHarmony添加system_basic权限安装报错
3.修改apl字段为system_basic或者在allowed-acls中加入需要申请的权限,如下是方便演示我将两处都修改了。2.然后找到对应的openHarmony 的SDK路径,如下记得要切换成OpenHarmony。5.然后进行自动签名,注意此处不要勾选Support HarmonyOS,只要勾选后面那个选项。openHarmony添加system_basic权限安装报错。1.首先查看当前的api level。签名完成就可以安装了。原创 2023-12-14 14:16:37 · 1382 阅读 · 0 评论 -
OpenHarmony系统应用开发流程(编译full sdk并替换)
public-SDK是提供给应用开发的工具包,跟随DevEco Studio下载,不包含系统应用所需要的高权限APIfull-SDK是提供给OEM厂商开发应用的工具包,不能随DevEco Studio下载,包含了系统应用所需要的高权限API三方开发者通过DevEco Studio自动下载的API8版本SDK均为public版本。public-SDK不支持开发者使用所有的系统API。原创 2023-07-22 17:13:47 · 737 阅读 · 0 评论 -
OpenHarmony与HarmonyOS联系与区别
HarmonyOS 是华为是基于 OpenHarmony、AOSP等开源项目开发的面向多种全场景智能设备的商用版本,所以HarmonyOS包含OpenHarmony,如果将OpenHarmony理解成地基,则HarmonyOS则是在这个地基基础上修建的精装房。开篇就说“关于‘鸿蒙操作系统’,由于缺乏规范的表述和统一的口径,导致内部理解不一致、对外说法不一致,容易引起混淆,所以此篇是专门说一下OpenHarmony与HarmonyOS的区别的。当我们在说“鸿蒙”的时候,也许就是指鸿蒙生态。原创 2023-07-21 16:04:54 · 16192 阅读 · 5 评论