笔者之前在社区刷到clangd相关帖子,后面没找到了,于是自己做了一些笔记并分享如下:开发环境1.wsl2+vscode开发环境2.OpenHarmony5.0.3标准系统代码步骤1.卸载vscode中关于cc++的拓展,避免和clangd拓展冲突2.安装vscodeclangdclangformatCodeLLDB等vscode拓展2.生成编译数据库compilecommands.json文件这里以3568为例.prebuiltsbuildtoolslinuxx86binninjawdupbuildwarnC.outrk3568tcompdbcxxcoutrk3568compilecommands.json3...
当使用mesa3dcangh提供的amd显卡驱动时,想利用Mesa提供的图形硬件加速能力,来支持视频编解码操作时。需要依赖libomxilbellagio库,现在成果分享如下:基础知识1.OpenHarmony中mesa3damd显卡驱动编译2.OpenHarmony中基于GN和ninja的编译构建,参考笔者speexdsp移植到OpenHarmony系列文章:[移植speexdsp到OpenHarmony标准系统①](https:ost.51cto.composts16667)3.libomxilbellagio在linux上的编译移植思路1.保证能在linux上正...
笔者最近在移植soc到OpenHarmony时,遇到了内核amdGPU驱动在初始化时无法加载ramdisk中全部显卡固件的问题,于是将gpu驱动编译成ko形式在init阶段去加载,笔者希望尽量越早加载该ko越好,现将经验分享如下:开发环境和前置知识OpenHarmony5.0.0版本引导启动配置文件https:gitcode.comopenharmonydocsblobOpenHarmony5.0.3Releasezhcndevicedevsubsystemssubsysbootinitcfg.md关键代码5.0.0basestartupinitservicesinitstandardi...
2025-07-24 17:05:17 3398浏览 1点赞 0回复 0收藏
在OpenHarmony编译构建中笔者经常遇到这样的场景——需要执行sh脚本完成某些操作。笔者将OpenHarmonyBUILD.gn中执行脚本的方法分享如下:前置知识点1.能够把自定义的子系统加入OpenHarmony源码的编译构建,请参考:https:ost.51cto.composts17750中关于自定义子系统的部分开发环境OpenHarmony源码5.0.0版本步骤1.首先新建一个BUILD.gnimport("buildohos.gni")execscript("install.sh")脚本如果需要参数则写成pathrebasepath("x...
2025-07-23 16:21:37 3554浏览 0点赞 0回复 0收藏
笔者在移植三方库到OpenHarmony时遇到了pthreadcancel和pthreadsetcanceltype函数找不到的问题,将解决办法分享如下:OpenHarmony的使用的c库musl中注释了这些函数的导出,在thirdpartymusllibc.map.txt将屏蔽的函数中取消注释即可
2025-07-21 10:59:43 3833浏览 1点赞 0回复 0收藏
以ohossharedlibrary为例,在其中指定outputprefixoverride和outputname以及outputextension即可ohossharedlibrary("libelf"){outputprefixoverridetrue覆盖默认的文件名前缀outputname"libelf"指定输出文件的名称(不含扩展名)。outputextension"so"指定输出文件的扩展名。includedirs[...]cflags[...]sources[.....]publicdeps[]installimages[...]relativeinstalldir""partname""}
2025-06-30 16:19:38 6601浏览 1点赞 1回复 0收藏
笔者最近遇到一个问题,需要将cpython的环境变量默认添加至OpenHarmony中,每次只能通过export来临时设置。笔者花了一点时间研究,于是将方法分享如下文章涉及开发环境OpenHarmony5.1.0开发环境分析OpenHarmony已经有的环境变量是如何添加上去的envbinenvcurrentslot1381256773HOMEPULSESTATEPATHdatadata.pulsedirstateUVTHREADPOOLSIZE16TMPdatalocalmtptmpPULSERUNTIMEPATHdatadata.pulsedirruntimeTERMlinuxdefaultbootdevi...
2025-06-23 17:29:16 2541浏览 0点赞 0回复 0收藏
开发环境1.OpenHarmony5.0.0r2.rk3588设备问题描述前几天开机动画在机器上是可以的,开机动画突然后没有了。原因未知,不知道哪里的代码改动影响到了解决过程1.开机后执行bootanimation命令,同时将日志进行落盘2.发现找不到bootanimationcustomconfig.json文件3.搜索源码确定需要该文件4.修改文件安装目录ohosprebuiltetc("bootanimationconfig"){source"bootanimationbootanimationcustomconfig.json"installimages[sysprodba...
2025-05-28 10:45:49 1265浏览 0点赞 0回复 0收藏
开发环境OpenHarmony5.0.0代码修改效果
2025-05-09 16:00:36 938浏览 0点赞 0回复 0收藏
在实际生产中,进场遇到需要关闭导航栏和状态栏的需求,现分享解决办法:开发环境OpenHarmony5.0.0r代码分析思路:launcher本身可以关闭导航栏(实际是公共事件,发送消息给systemUI来实控制)systemUI中product\default\navigationBar\src\main\ets\viewmodel\NavigationBarViewModel.ts中privatewindowSwitches(navigationBarStatusValue:string):void{this.isDisplaynavigationBarStatusValue'1'true:false;if(!this.isDispl...
2025-05-09 15:53:58 1128浏览 0点赞 0回复 1收藏
当设备为横屏时,且ohos.para文件const.product.devicetype设置为default时(即设备类型为default),我们经常遇到导航栏和状态栏高度过高的情况,非常影响观感本教程适用范围1.applicationssystemuiopenharmonyv5.0.0release2.开源鸿蒙5.0.03.ohos.para文件const.product.devicetype设置为default时(即设备类型为default)更改顶部状态栏高度1.product\phone\statusbar\src\main\resources\base\element\string.json将statusb...
2025-05-09 15:50:54 1790浏览 0点赞 0回复 0收藏
最近看到社区有小伙伴反映,社区录音应用横屏时,录音后无法播放的问题。现分享解决办法。社区录音应用的来源:https:gitee.comopenharmonyapplicationsappsamplestreeOpenHarmony5.0.2ReleasecodeSystemFeatureMediaRecorderRecorderentrysrcmainetspagesIndex.ets中注释this.isLandmediaQueryResult.matches;,让它横屏是强制保持竖屏状态就ok了。编译好的录音ok的hap在文末下载
2025-05-08 16:24:57 1012浏览 0点赞 0回复 0收藏
本文将记录笔者交叉编译rockchipMPP1.0.8版本的过程。此文章默认认为读者具有一定OpenHarmony开发经验,熟悉OpenHarmonyndk交叉编译。开源地址:https:gitee.comOpenHarmonyrkequipmenttransplantationmppoh编译64位rockchipMPP库1.下载mpp1.8版本gitcloneb1.0.8https:gitee.comOpenHarmonyrkequipmenttransplantationrkmpp.git2.修改rkmppbuildlinuxaarch64makeMakefiles.bash文件DCMAKETOOLCHAINFILE.arm.linux.cross.cmake\...
2025-04-15 01:51:43 2811浏览 0点赞 0回复 2收藏
笔者在去年利用国庆时间,将CortexM7的国产厂商兆易创新GD32H459移植OpenHarmony轻量系统,但是适配不太完善——只能选择liteosm接管中断。这样导致使用中断非常麻烦。于是笔者最近将接管中断模式修改为不接管,这样可以方便的使用gd32提供的中断。相关开源地址:https:gitee.comGD32H759OpenHarmonydocsblobOpenHarmonyv5.0.3ReleaseREADME.md往期文章[国产兆易创新CortexM7GD32H459适配OpenHarmony轻量系统,代码开源!](http...
2025-04-05 16:47:41 5555浏览 0点赞 0回复 0收藏
笔者在去年利用国庆时间,将CortexM7的国产厂商兆易创新GD32H459移植OpenHarmony轻量系统,但是适配不太完善——只能选择liteosm接管中断。这样导致使用中断非常麻烦。于是笔者最近将接管中断模式修改为不接管,这样可以方便的使用gd32提供的中断。往期文章[国产兆易创新CortexM7GD32H459适配OpenHarmony轻量系统,代码开源!](https:laval.csdn.net670641f259bcf8384a6bf63b.html)[兆易创新CortexM7GD32H459适配OpenHarmony轻...
2025-04-05 12:11:04 3535浏览 0点赞 0回复 0收藏
随着5.0的版本的迭代升级,笔者感受到了开源鸿蒙前所未有大的版本更替速度。5.0出现了越来越多的CAPI可以调用,极大的方便了nativec++应用的开发。笔者先将speexdsp噪声消除的案例分享,老规矩,还是开源!!!开源地址:https:gitee.comfromnorthtonorthOpenHarmonyp7885tree3b8ffd1c5223688f0b1e1f011187a6a392b4fcdfhapeasydemospeexdsp编译好的hap:https:gitee.comfromnorthtonorthOpenHarmonyp7885blob3b8ffd1c5223688f0b1...
2025-03-27 14:39:32 4798浏览 2点赞 0回复 1收藏
在开发OpenHarmony的时候,经常遇到需要把所有测试功能的hap做成一个hap的需求。显然如果一个hap内集成所有测试hap的方案需要花费较大时间成本且各个测试hap之间api并不统一。这里采用应用间跳转的方式。参考资料官方文档:[应用间跳转概述](https:gitee.comopenharmonydocsblobOpenHarmony5.0.0Releasezhcnapplicationdevapplicationmodelslinkbetweenappsoverview.md)https:gitee.comscenariosamplespullotherapp实现思路1.这...
2025-02-26 17:49:21 7425浏览 1点赞 0回复 0收藏
笔者最近发现,关闭OpenHarmony全局动画,系统UI的响应速度会极大的提升1.全局动画的开关由系统属性persist.sys.arkui.animationscale来控制,默认为1。也就是动画缩放1x2.如果让persist.sys.arkui.animationscale默认为0,也就是关闭的状态呢。通过在launcher应用的桌面页初次启动来设置,开机默认就关闭全局动画。这样就不用修改源码来使得全局动画默认为关闭状态了applicationslauncherOpenHarmonyv5.0.0Releaseproductphones...
2025-02-17 14:25:49 3296浏览 0点赞 0回复 0收藏
之前分享过[使用图形化工具tortoiseGit上传代码至gitee仓库](https:ost.51cto.composts25167),今天分享如何使用tortoiseGit拉取仓库的不同分支并且提交到指定分支。1.以作者仓库为例,它有OpenHarmonyv5.0Release和OpenHarmonyv4.1.1两个分支2.首先选择Git在这里创建版本库3.选择远端OpenHarmonyv5.0Release4.然后选择远端拉起OpenHarmonyv5.0Release代码5.切换到远端的OpenHarmonyv5.0Release分支6.此时就可以提交代码到OpenHarmonyv5.0Release分支了
2025-02-12 16:15:21 4544浏览 0点赞 0回复 0收藏
适配OpenHarmony系统相机应用横屏UI,相关pr:https:gitee.comopenharmonyapplicationscamerapulls233files适配效果如何安装编译好的hap提供在附件中1.预置在源码,随固件安装2.安装haphdcshell"mountoremount,rw"hdcshell"rmrfdata"hdcfilesendproduct\phone\build\default\outputs\default\phonedefaultsigned.hapsystemappcom.ohos.cameraCamera.haphdcshell"reboot"
2024-12-28 13:37:12 6507浏览 0点赞 0回复 0收藏