【每日学点鸿蒙知识】Charles抓包、lock文件处理、WebView组件、NFC相关、CallMethod失败等
1、HarmonyOS系统中如何使用Charles抓包?
在HarmonyOS操作系统中,使用Charles进行抓包的步骤如下:
在Charles中设置代理。
- 首先,在Charles的菜单栏上选择“Proxy”→“Proxy Settings”,然后填入代理端口(例如8888,也可以使用其他端口),并勾选“Enable transparent HTTP proxying”。这样便完成了在Charles上的设置。
- 可以在“Help”→“Local IP Address”中查看本机的IP地址,或者使用cmd中的ipconfig命令来查看。设置手机代理。
- 选择连接的Wi-Fi网络,右击选择“修改网络”,然后勾选“显示高级选项”,输入服务器主机名和服务器端口,点击保存。
- 安装SSL证书。在电脑上选择“Help”→“SSL Proxying”→“Install Charles Root Certificate”。如果系统有安全防护设置,可能需要输入账号密码。按照提示安装Charles证书。
- 配置SSL抓取域名。在Charles中,找到“Proxy”→“SSL Proxying Settings…”,并启用SSL代理(Enable SSL Proxying)。
- 在Host字段设置通配符
"*"(如果要抓取特定域名,则在此处填写特定域名),通常端口为4431。
完成以上步骤后,就可以开始抓取手机系统上的数据包了。
请确保在进行这些设置时,手机和电脑都连接到同一网络,并且手机的开发者选项已启用,以便安装和信任Charles证书。
2、项目在不同电脑上,有些文件会修改或者增加一些配置,这种情况怎么处理?
build-profile.json5、harmony/oh-package-lock.json5、harmony/entry/oh-package-lock.json5
以上3个文件会自动修改或增加配置
还有yarn.lock文件也是,不删除直接yarn install就报错,删除后install就没问题,并且文件有修改,主要是路径、版本的改变
这种情况是因为每个人的项目所在的路径不一样吗,或者是Windows、Mac的原因?有没有什么影响呢,我不提交git可以吗
解答:
- 以上3个文件每台电脑编译后会有区别,但对整个项目没有影响,可以直接在git忽略掉不提交。
- yarn.lock是lock当前项目所依赖的各个包的版本。
yarn install报错是因为lock的版本和本地项目中依赖包的版本不一样。(你更新了别人上传的lock,你本地是你自己的依赖包)
yarn文件中的未指定具体版本(默认获取最新),那么两个开发者之间就有可能会下载到不同版本的依赖包,两个开发者所对应的本地包和yarn.lock文件就会不同,install的时候就会报错。
将yarn.lock删掉重新install,会重新install并生成新的yarn.lock文件,是一种临时的解决方式,yarn.lock这个文件创造出来的初衷就是为了让多端的开发者都能保持统一的依赖包版本(避免因为依赖包不同导致发生问题)。
所以要么yarn中指定依赖包具体版本号并定期维护更新版本。么每次git更新的时候对比本地包和yarn.lock中的版本那里不同进行调整。
3、Web组件怎么判断当前url已经成功加载?
Web({ src: this.url, controller: this.controller }) Web组件怎么判断当前url已经成功加载?
.onErrorReceive((event) =\>是失败的情况,成功加载的情况是在哪判断?
Web在网页加载完成时触发该回调onPageEnd方法,具体文档可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5
4、HarmonyOS @ohos.nfc.controller模块不存在,无法引用?
APP需要调用NFC功能,按照官方文档import controller from '@ohos.nfc.controller’报错The default system capabilities of devices phone, tablet, 2in1 do not include SystemCapability.Communication.NFC.Core. Configure the capabilities in syscap.json. <ArkTSCheck>
在某具体的设备型号上,能力可能超出工程默认设备定义的能力集范围,如果需要使用此部分能力,需要额外配置自定义的syscap。具体配置请参考SysCap开发指导:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/syscap-0000001774120846#ZH-CN_TOPIC_0000001813657848__syscap%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC
注意,配置完成之后,需要重启一下DevEco Studio,引用即可生效。
系统能力和API:

![![[【每日学点鸿蒙知识】24.10.01-1.png]]](https://i-blog.csdnimg.cn/direct/1687c6751f014c7bbe5fd43dd94308d5.png)
设备与支持能力集:

设备与SDK能力的对应:

5、HarmonyOS aki::Value::CallMethod失败?
TS定义如下类:
export class XavAudioOutputConfig {bitrate: EXavAudioBitrate = EXavAudioBitrate.kbps128;
}export class XavCompileConfig {audioConfig: XavAudioOutputConfig;metadata: string = '';constructor() {this.audioConfig = new XavAudioOutputConfig();}
}
在TS层创建XavCompileConfig对象,然后通过aki传递到C++层,调用如下方法时发生crash。
static void LogCompileInfo(napi\_value config)
{auto compileConfig = aki::Value(config);auto audioConfig = compileConfig.CallMethod(“audioConfig”);
}
Value Value::CallMethod方法中的jsCallback.CallMethod(env, recv, std::forward<Args>(args)…)返回值为空,但实际上audioConfig不为空。
compileConfig.CallMethod(“audioConfig”); 这个audioConfig不是方法,在JS层是个对象,callmethod函数是调用JS方法的,而audioConfig并不是类成员函数
相关文章:
【每日学点鸿蒙知识】Charles抓包、lock文件处理、WebView组件、NFC相关、CallMethod失败等
1、HarmonyOS系统中如何使用Charles抓包? 在HarmonyOS操作系统中,使用Charles进行抓包的步骤如下: 在Charles中设置代理。 首先,在Charles的菜单栏上选择“Proxy”→“Proxy Settings”,然后填入代理端口࿰…...
【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析
【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题 情况实验结论情况 在用GL-SFT1200路由器切换中继模式时,由于web密码忘却,需要重置,但根据官网使用手册,或者对应的中文版手册,重置失败。通过跟商家联系,进行uboot刷机,提供了指导文档,尝试后刷机成功…...
LINUX--shell
函数 格式: func() { command } function 关键字可写,也可不写。 示例 1: #!/bin/bash func() { #定义函数 echo "Hello $1" } func world #执行主文件 # bash test.sh Hello world 数组 数组是相…...
TCP常见问题
文章目录 一、两种状态图二、常见问题1、MSL是什么 3、为何等待2MSL3、为何三次握手,不握手、握手一次、两次行吗4、为何四次挥手,三次行吗,两次行吗 一、两种状态图 四次挥手 二、常见问题 1、MSL是什么 MSL是Maximum Segment Lifetime的英…...
OpenCV学习——图像融合
import cv2 as cv import cv2 as cvbg cv.imread("test_images/background.jpg", cv.IMREAD_COLOR) fg cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸 print(bg.shape) print(fg.shape)resize_size (1200, 800)bg cv.resize…...
网速、续航双在线!2024随身WiFi品牌精选推荐!格行按键切三网值得买吗?
随身wifi这个东西大家用的还是蛮多的,特别是一些户外工作的人员,往往都需要配备一个随身wifi,这样户外工作的时候才有网络,工作才会比较方便一些。今天就来盘点2024年热门随身wifi哪个牌子的好用? 1.华为:通…...
ubuntu18.04连接不上网络问题
现象:右上角的网络图标消失,仅剩输入法、音量和开关图标,ifconfig只显示本地回环 原因:网络适配器未开启 解决: 1. 查看网络状态:cat /var/lib/NetworkManager/NetworkManager.state 这里显示是false&a…...
访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望
傅彦国,上海积鼎信息科技有限公司创始人 记者:请傅总介绍下我国流体仿真行业的发展现状是怎样的? 傅彦国:自2018年政府加大了对核心技术自主研发的支持力度,国产CFD软件逐渐步入发展正轨。 首先,从市场规…...
【Linux知识】exec命令行详解
文章目录 概述主要用途和 bash 有什么区别? 概述 在 Linux 系统中,exec 命令用于执行一个可执行文件,替换当前进程的映像。也就是说,当你在终端中使用 exec 命令后,当前的 shell 会被替换为 exec 指定的程序ÿ…...
【学术小白的学习之路】基于情感词典的中文句子情感分析(代码词典获取在结尾)
【学术小白的学习之路】基于情感词典的情感分析 1.基础函数1.1 判断情感词的否定词数量1.2 导入情感词典1.3 切分句子1.3.1为什么划分1.3.2 划分代码 1.4 完整代码 2.导入词典3.中文情感分析算法思路4.1情感词获取思路4.2 计算情感分值4.3 得分的归一化处理 4.实证5.总结 本文的…...
Linux 中 grep、sed、awk 命令
1. awk:强大的文本分析工具 awk,全称“Awk语言”,是一种专门用于处理文本文件的语言。它不仅能够根据关键字匹配某一行,还能进行复杂的文本分析和处理。awk的语法简洁明了,功能强大,是文本处理领域的佼佼者…...
一起考高项啊--现代化基础设施(工业互联网)
1、工业互联网的内涵和外延 工业互联网不是互联网在工作的简单应用,是具有更为丰富的内涵和外延。 它既是工业数字化、网络化、智能化转型的基础设施,也是互联网、大数据、人工智能与实体经济深度融合的应用模式,同时也是一种新业态、新产业…...
python学opencv|读取图像(二十)使用cv2.circle()绘制圆形进阶
【1】引言 前序已经掌握了使用cv2.circle()绘制圆形的基本操作,相关链接为: python学opencv|读取图像(二十)使用cv2.circle()绘制圆形-CSDN博客 由于圆形本身绘制起来比较简单,因此可以自由操作的空间也就大&#x…...
期权懂|如何减小个股期权交易中的风险?
锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 如何减小个股期权交易中的风险? 一、选择合适的期权合约 (1)选择活跃的期权合约:投资者应优先选择交易活跃的期权合约。交易活跃的…...
ubuntu20.04 wget下载--段错误 (核心已转储)
用wget下载时总是在快下载完成时遇到段错误 untu2004-9.1.0_1.0-1_am 99%[> ] 1.63G 3.11MB/s 剩余 1s s段错误 (核心已转储)有以下两种解决方法: 1.手动下载 wget后面就是要下载的资源的链接,直接复制到浏览器中下载即可 如:…...
怎么样保持mysql和redis数据一致性
保持 MySQL 和 Redis 数据的一致性是一个常见的挑战,因为 MySQL 是传统的关系型数据库,而 Redis 是内存数据库,通常用于缓存和高性能存储。这两者的数据更新方式不同,特别是当 Redis 用作缓存时,可能会存在缓存和数据库之间的数据不一致问题。为了保持数据一致性,通常可以…...
剑指Offer|LCR 013. 二维区域和检索 - 矩阵不可变
LCR 013. 二维区域和检索 - 矩阵不可变 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(…...
aosp15 - Activity生命周期切换
本文探查的是,从App冷启动后到MainActivity生命周期切换的系统实现。 调试步骤 在com.android.server.wm.RootWindowContainer#attachApplication 方法下断点,为了attach目标进程在com.android.server.wm.ActivityTaskSupervisor#realStartActivityLock…...
vxe-table 虚拟滚动的动态响应
虚拟滚动主要是在有限范围内渲染想要显示的数据,主要体现在懒加载数据和动态渲染上。如何提高虚拟滚动的操作性呢?请看本章解析 1.什么是虚拟滚动?代码如何实现? VXE-Table提供了一种名为“虚拟滚动”的功能,该功能可…...
quasar dev 命令卡住很久
别以为这是一个瞬间的截图,其实停留在这里很久很久。 折腾挺久,无论npm run dev:proxy还是 quasar dev,都是一样的情况。 最终解决办法: 有语法问题,通过 quasar build 命令暴露出来错误所在的行数。...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
