- 博客(213)
- 资源 (28)
- 收藏
- 关注
原创 鸿蒙北向应用开发:deveco 5.0 kit化文件相关2
在kit化时,有时候会出现这样一种场景即你想把已有的d.ts导出换个名字,这样从名字上更贴合你的kit聚合什么意思呢?比如现在有导出了hilog,现在你想kit化hilog,使得hilog导出名字为usrhilog,这样用户在使用你的kit文件时,使用的是usrhilog而不是hilog怎么实现呢?
2025-03-28 19:01:41
398
原创 鸿蒙北向应用开发:deveco 5.0 kit化文件相关
开源鸿蒙5.0开始,多了一个kit化的概念kit化什么意思呢?就是把多个模块比如 A.d.ts B.d.ts C.d.ts 聚合到一起,统一命名为 kit.abcKit.d.ts,以后要使用A.d.ts B.d.ts C.d.ts 的内容就不需要单独而是直接这样做的好处是简化书写成本,提高聚合后的模块功能,让开发者只需要记住少量的kit文件就可以使用更多的聚合模块功能。
2025-03-28 11:38:13
579
原创 鸿蒙北向源码开发: xts用例单部件编译并执行测试用例
在做xts认证的时候经常性的会被社区审核组的人驳回,因为有些用例你本地能跑过但是审核的人跑了一次并没有跑过,这种情况基本都会被驳回,需要提交豁免材料但是很多时候会发现用例测不过是xts的测试用例本身有点问题,你想要改一下用例然后在测,这时候就需要主动去编译xts测试套件了。
2025-03-22 14:42:16
804
原创 虚拟机新挂载磁盘后磁盘无法使用ssh问题 Permission denied (publickey).
问题来了,ssh设置的时候仅对当前用户生效,带sudo就改变了用户权限,ssh校验就对不上了,所以在使用ssh 下载的时候一定不能带上sudo ,需要先解决sudo权限问题即可。比如我将这个磁盘挂载在~/v下面,这个V目录的权限不足需要修改权限777,但就算这样在v目录里面执行git下载之类的还是需要带上sudo。虚拟机可以添加硬盘,如果添加的是物理磁盘。这种磁盘在挂载时一般会出现权限不一致问题。
2025-03-11 20:54:59
219
原创 linux下基于LD_PRELOAD的动态库劫持HOOK
LD_PRELOAD 是 Linux(和其他类 Unix 系统)中的一个环境变量,用于在程序运行时优先加载指定的共享库(shared library)。它可以用来覆盖或替换程序默认使用的库函数,从而实现一些特殊的功能,比如调试、性能分析、函数钩子(hook)等。
2025-01-10 10:51:59
795
原创 Nautilus源码编译傻瓜式教程二
看这个报错,未找到文件或目录,再看前面的git地址是github就知道肯定是下载有问题,查找下Nautilus项目,发现在nautilus/build-aux/flatpak/org.gnome.Nautilus.json文件内配置了下载地址。git clone git@jihulab.com:nautilus/exiv2.git 下载代码到.gnome-builder/flatpak-builder/git/目录。直接把https://github.com/Exiv2/exiv2.git填入,
2024-12-19 21:04:32
1009
1
原创 linux基于systemd自启守护进程 systemctl自定义服务傻瓜式教程
功能:systemd 是一个初始化系统(init system)和服务管理器,它负责在 Linux 系统启动时启动系统的核心服务和进程。它的任务是管理系统引导、服务管理、进程监控、资源管理等。systemd 提供了服务启动、停止、重启、日志记录等功能,并管理系统的运行状态。作用:启动和管理系统服务:systemd 会在系统启动时根据配置文件(服务单元文件)启动必要的系统服务(例如网络、日志记录、定时任务等)。
2024-12-06 19:05:18
1590
2
原创 arkui 创建了新的ability,导致安装后界面上出现两个应用图标问题
如标题所言,安装后界面上会显示两个应用图标,这是因为新增的ability action字段导致的,删除action字段即可。上述链接讲了如何添加使用第二个ability,但是遗留了一个问题。
2024-12-05 19:11:47
180
原创 Openharmony北向开发基础 Deveco4.1开发 stage模型使用第二个Ability傻瓜式教学及项目源码分析(新增page页)
UIAbility查阅上文链接后,可以知道在onWindowStageCreate函数中有这么一行代码,这段代码的意思就是这个窗口创建的时候展示的界面为Index界面page页就是具体的界面布局page页描述了一个窗体上展示的界面展示的内容是什么,用什么布局线性布局该page布局中只有一个Text控件在上述步骤执行完进行编译的时候出现的编译报错,表示标识符Index重复了,出现这个问题是因为上面我们添加page页的时候把原有的Index.ets的内容全复制过来了,导致产生了两个定义。
2024-12-04 19:18:29
716
1
原创 嵌入式应用开发技术栈:
6.了解linux进程组,知道shell打开的应用生命周期小于shell即随着shell的关闭,所有shell打开的程序都会退出;12.搭建wmware虚拟机,安装ubuntu20.04,有一定的wmware使用经验,会处理常见的虚拟机问题。2.懂基础的linux知识,会shell脚本,export导出环境变量,设置永久环境变量。5.qt基本知识,涉及qt4,qt5,如qstring的常用用法,信号跟槽的默认连接。8.会C11语法,C11多线程,懂最简单的C11新增特性。11.私有通信协议字段构成。
2024-11-29 14:26:35
399
原创 linux自启任务详解
在Linux系统中,我们经常需要将一些应用程序(或脚本)设置为后台自启服务形式,以便它们可以在系统启动时自动运行,并可以通过系统服务管理工具进行控制。本文将以test_demo.service为例,详细介绍如何在ubuntu 20.04 Linux下创建自定义的systemd服务。启用服务启动服务检查服务状态重新加载systemd配置。
2024-11-20 15:28:38
336
原创 鸿蒙北向开发 : hdmfs-分布式文件系统
A设备跟B设备组网成功,A设备将本地文件(假设为A.mp4)共享到分布式文件系统路径: /data/storage/el2/distributedfiles/.share目录下,此时B设备可以(设备级别符合要求的情况下)在本机的分布式路径下看到被共享的文件/data/storage/el2/distributedfiles/.share/A.mp4,在共享文件安全等级允许的情况下,B设备可对A.mp4进行读写操作。2.B获取分布式路径并进行访问。获取分布式路径可参考上方代码。
2024-11-15 13:44:00
606
1
原创 Deveco : This API is used only in Stage Mode, but the current apiType is faMode.
/ 获取设备A的UIAbilityContext信息 let pathDir: string = context.distributedFilesDir;distributedFilesDir 和 getOrCreateDistributedDir 可以导航到FA模型跟Stage模型文档页面。FA跟Stage不能混用的无非就是Context。这种错误是混用了FA模型跟stage模型的接口。
2024-11-14 20:19:52
342
原创 鸿蒙北向开发基础 Deveco 代码,日志查找筛选教程
这样调试的时候可以看到所有复合筛选规则的hilog日志。2. 快捷键 shift shift (连按两次)过滤的文本个通过| 进行多个匹配(日志信息一栏)在项目的根目录上右键,选择在文件中查找。deveco提供了三种代码查找方式。这个只能在打开的文件内搜索。
2024-11-14 19:49:30
365
原创 Deveco在设备上运行报错:Install Failed: error: failed to install bundle.code:9568347
表示该错误可能由设备系统位数为32为导致,deveco 4.0之后默认构建64位版本。使用deveco直接连接设备在设备上运行程序时报错。根据提示进行如下修改。
2024-11-08 14:48:48
719
原创 DevEco在设备上运行hap报错: Error message: The caller is not a system application
找到api目录 tools->SDK manager。在文件目录下找到api 9,修改如下框中文件内容。这是因为hap的运行权限不够,需增加权限。查看项目使用的api版本。
2024-11-06 15:04:12
233
原创 openharmony北向开发入门教程汇总
Harmoney北向开发入门篇(一)Harmoney北向开发入门篇(二)Harmoney北向开发入门篇(三)Harmoney北向开发入门篇(四)
2024-10-30 17:48:38
349
原创 ubuntu 虚拟机将linux文件夹映射为windows网络位置
在使用虚拟机时可以选择将windows的文件夹设置为共享文件夹方便在虚拟机中访问windows中的文件,同理,也可以将linux的文件夹共享为一个网络文件夹,通过windows的添加一个网络位置功能,将linux的文件夹映射到windows本地,方便windows访问使用linux的文件夹。
2024-10-14 11:37:46
459
原创 p15_gen2_t15g_gen2_p17_gen2_ug_zh-cn中文说明书
https://download.lenovo.com/pccbbs/mobiles_pdf/p15_gen2_t15g_gen2_p17_gen2_ug_zh-cn.pdf
2024-09-20 17:54:56
177
原创 linux 中删除乱码中文名文件
在操作linux时会不经意将带有中文的文件发送到linux系统,但是有些linux系统不能识别中文以及中文符号等,会导致linux shell命令无法操作这些文件。想要删除无法识别名字的文件,需要找到其inode 号,通过inode 删除文件。find . -inum inode号 -exec rm {} \;整体操作分为两条指令。
2024-09-13 10:16:35
584
原创 C++ 在变量前面加上(void)的作用
如果项目里是打开了-Werror选项,会将warning视为error,这样的话无法通过编译。在阅读源码的时候遇到了很多在函数参数加上(void)的操作。声明/定义了但没使用的变量,在编译时会生成warning。所以需要用这种方法绕过无关紧要的warning。
2024-09-05 15:15:40
256
原创 vmware虚拟机开机进入 initramfs状态解决方法
本次linux虚拟机进入initramfs的原因是由宿主机windows内存(条)占满,vmware崩溃导致的.由于在工作中需要打开多种运行环境,内存占满问题经常出现,vmware经常报错内存访问失败问题,在多次使用中发现桌面版的ubuntu虚拟机貌似会自动修复磁盘ext4问题,而服务器版本的ubuntu无法自动修复ext4问题,会进入initramfs状态,需要手动处理问题处理的方法逻辑就是解决ext4问题。
2024-09-05 09:53:05
967
原创 openharmony 北向开发基础:ohos自定义子系统,自定义部件,调用hilog部件,hilog日志封装傻瓜式教程
为了客服上述单部件创建的so库无法被另一部件gn模板调用的问题,本章节讲解如何使用部件间依赖首先用白话描述下几个关键名词子系统:子系统是一个逻辑上的概念,是鸿蒙模块化构建的第一层,由若干个部件组成,在形式上表现为一个子系统文件夹内部有多个部件文件夹,子系统目录的位置一般为源码根目录,在//build/subsystem_config.json 中可以增删编辑你需要的子系统。
2024-08-17 14:37:58
1430
2
原创 scrcpy源码 windows10编译傻瓜式教程
Scrcpy工程是基于Meson编译系统进行构建Meson编译系统Meson就好比GCC,在配置文件中进行一系列配置,比如依赖头文件、库等,编译出一个可执行文件Meson工程最重要的就是它的构建描述文件,即meson.build,类似Gradle工程中的build.gradle。在工程根目录和子模块目录下都有各自的meson.build文件。])endifendif可以看到工程编译两个项目,app和server。既然Scrcpy是一个投屏软件,那么可以理解是一个C/S软件。
2024-08-12 20:25:02
1252
1
原创 OpenHarmony北向开发 SA服务SELinux权限配置一站式傻瓜式教程
SELinux是Security Enhanced Linux 的缩写,也就是安全强化的 Linux,旨在增强传统Linux操作系统的安全性,解决传统Linux系统中自主访问控制(DAC)系统中的各种权限问题(如root权限过高等)。这里举一个例子便于理解,假设系统中某个服务进程出现了一个漏洞,使得某个远程用户可以访问系统的敏感文件(如/etc/dev)。
2024-08-09 20:35:54
1277
1
原创 Fatal error: cstring: No such file or directory
5.cstring代表的是string.h,但是被封装到了std里面,譬如调用strlen函数,需要写成std::strlen(yourstr)才行,这个使用方法比较符合C++的标准要求string就是C++标准库里面的string模板(确切地说应该是一个特化的模板),但是他同样包含了C风格字符串操作函数的定义(应该是通过包含string.h实现的)string.h就不需要使用名字空间了,这个是C风格字符串操作的一个函数库,strlen,strcpy,strcat,strcmp……
2024-08-09 10:26:31
606
原创 鸿蒙北向开发 DevEco studio4.1 开发板运行第一个hello world程序 生成HAP并安装
关于DevEco studio4.1的安装参考如下连接DevEco 4.1安装DevEco studio是一个可以开发鸿蒙跟开源鸿蒙应用的IDE,只要选择相应的SDK即可创建鸿蒙项目或着开源鸿蒙项目,聪明的你应该发现了我们在安装DevEco的时候安装了HarmonyOS-SDK跟OpenHarmony-SDK,下面展示创建一个基于OpenHarmony-SDK的开源鸿蒙项目并在RK3568开发板上运行DevEco使用指南。
2024-07-26 17:14:56
1902
3
原创 鸿蒙北向开发 DevEco Studio 4.1 下载安装傻瓜式教程
由于鸿蒙处于快速发展中,鸿蒙的api快速迭代更新,老版本的DevEco studio无法支持更新版本的api,因此华为官网放弃了老版本的维护.直接从华为开发者官网无法下载老版本,当前华为开发者官网已经推出next版本了上述教程提供的华为开发者官网地址已经不再提供3.1的下载了,虽然是华为孵化了鸿蒙项目,但是华为贡献了鸿蒙的主干代码到国产开源社区开放原子开源基金会,立项为开源鸿蒙,后续的鸿蒙开发学习可以直接访问开源鸿蒙网址OpenHarmony地址。
2024-07-26 13:55:14
1326
原创 docker编译安卓镜像:Error closing trace writer: write /src/out/build.trace.gz: no space left on device 处理思路
比较建议的是上述两种方法同时使用,增加磁盘空间用于多次编译,在磁盘快满的时候清除缓存,当然了不嫌麻烦可以每次都清除缓存。安卓的编译还是比较费磁盘空间的,就算你能编译成功,在后续的源码开发中需要不断的进行代码修改编译,慢慢的磁盘就不够用了。这个方法比较快速直接,问题是这个方法有个致命缺陷就是如果你的磁盘确实很小,那再多次编译中需要多次执行清空缓存的操作。这时候有两种方式解决问题,1财大气粗的方式,扩容磁盘 2精打细算的方式,清空缓存。可以看到能释放80G左右的缓存,当然这跟你的编译次数有关。
2024-07-25 16:07:21
490
原创 FAILED: out/soong/build.ninja
上述连接里面有如何增加swap内存的方法,这里需要提一点就是 安卓编译需要大概40G的内存,一定要预留你本机运行时的内存,即在设置swap内存大小之前先看下你本机在不进行编译安卓的时候占用多少内存,在根据那个数值加上40G左右,再减去你的物理内存即可得到swap需要设置的内存大小。可以看到swap free内存一路减少到0,然后安卓编译就报错了。安卓编译的时候出现这样的错误基本就是内存不够了。通过 free -m -h 查看内存。通过增加swap的方法解决。
2024-07-25 13:45:05
1155
原创 ubuntu20.04 开源鸿蒙源码编译配置
如果是ubuntu20.04系统请直接安装python3.9,如果是ubuntu18.04请改为安装python3.8。将cat的所有内容拷贝添加到gitee等开源鸿蒙的代码托管网站。
2024-07-23 11:53:43
1027
原创 安卓系统签名的制作与使用(SignApk.jar)踩坑记录
看到这里的你应该能区分apk签名跟系统签名吧,如果无法区分的请看下面链接看过上面的文章应该知道系统签名需要的文件清单大概有哪些前两个是编译安卓系统时在build目录下,详细目录为 /build/target/product/security普通的安卓应用开发用户可从该文件如果使用的设备厂商没有对这个改动过,则使用google给的这两个就行了;
2024-07-19 10:53:24
2924
原创 vmware虚拟机磁盘扩容傻瓜式教程
区别于虚拟机根目录扩容,这里是将虚拟机的磁盘进行扩容根目录扩容 参考链接:想要扩容虚拟机硬盘问题由此产生。
2024-07-18 11:43:39
5155
原创 新版本安卓更换下载源解决gradle时间太久问题
这个版本的android studio 不能用上面那种老版本的方法了,需要更新方法。最近又做到安卓的任务了,下载的安卓studio最新版。修改完后android studio会提示你。将上面两处添加修改,修改后文件如下。点击sync即可使用更换后的设置。新版本需要跟换两个地方。
2024-07-16 16:20:50
678
原创 remote: ERROR: commit b81ea84: missing Change-Id in message footer
执行这两行后再通过git log 查看即可发现已经添加了Change-Id。再次执行git pull 即可提交代码。通过git log查看当前这笔提交。根据git的提示执行即可解决该问题。首次拉取代码后执行本地的代码添加。发现箭头处少了Change-Id。
2024-07-12 10:12:11
411
scrcpy源码编译后替换scrcpy.exe跟scrcpy-server即可运行
2024-08-12
海康私有协议ISAPI 球机摄像头云台控制代码
2023-11-22
ISAPI 开发手册(海康球形摄像机)
2023-11-17
openssl1.1.1b源码编译.rar
2021-06-21
vs2008&2013Visual; Assist X.rar
2019-08-07
mfc界面程序入门项目——整合sqlite3数据库
2019-03-26
cJson开源代码压缩包文件,可在C/C++项目中使用
2018-09-28
graphics.h(vs使用的图形头文件)
2018-08-23
tinyxml2解压可直接使用,不能用你@我
2018-08-20
sqlite3的MFC操作界面
2018-05-31
MFC制作SQLITE3操作界面
2018-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人