自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Android13 Wifi Scan流程梳理

遇到面试官让我讲讲Android的wifi框架,这一块没仔细看过,排查问题一般都是从wpa_supplicant开始,上层一个wifimanager,几个services和他们对应的几个状态机,简单看过一遍感觉没什么特别复杂的东西,这次简单梳理一下.scannerImpl.scan(settings)这里通过aidl调用c++的服务,这里的流程也不复杂,就是打包,然后通过netlink将NL80211_CMD_TRIGGER_SCAN发送到内核。通过aidl暴露给上端的api。调用对应的service。

2023-06-05 11:11:05 1807

原创 driver,bus,device

在里面首先要检查驱动所需要的supplier是否正常,例如上下电,时钟等驱动,检查之后会调用bus注册时候的probe函数,如果没有则调用驱动中的函数。如果检查失败,驱动会延后再次触发driver_probe_device。无论是device还是driver都注册到bus总线上,bus负责driver和device的匹配。从上面可以看出,platform总线是通过设备和驱动的名字来实现匹配的。从里面可以看出,还是调用的bus注册时候的match函数。下面以platform总线为例,讲解总线的注册。

2023-04-14 00:43:36 177

原创 OpenHarmony Wifi启动流程

openharmony wifi 启动流程

2023-04-12 10:12:38 552

原创 OpenHarmony js到hal层通信机制

xxxServiceProxy继承PeerHolder 和 xxxInterface// 定义静态变量,才能通过iface_cast创建一个包含IPCObjectProxy的xxxServiceProxy对象// 定义静态变量,才能通过iface_cast创建一个包含IPCObjectProxy的xxxServiceProxy对象。

2023-03-22 01:37:53 955

原创 kernel dts 预编译,编译,反编译

dts 常用处理

2023-03-13 14:40:24 779

原创 linux_5.10 iptables踩坑

ipt_MASQUERADE在5.10上换成了xt_MASQUERADE

2022-11-14 18:16:56 641

原创 代码进行insmod/rmmod操作

代码里进行insmod和rmmod操作。

2022-11-04 14:43:28 488 2

原创 OpenHarmony 3.2 Release HDF的IDL文件初探(上)

OpenHarmony 3.2 HDF IDL文件

2022-10-24 02:24:09 1026

原创 ip地址:string和int互转方案

ip地址string和int互转

2022-10-18 17:50:40 785

原创 Android11 GPS 流程代码走读

android11 gps代码走读

2022-10-05 02:23:22 2125

原创 Linux 打开文件显示: No such file or directory

64位系统打开32位文件,显示no such file or directory

2022-08-22 14:41:13 1693

原创 openharmony常用网站

openharmony 文档 代码

2022-08-19 18:31:43 302

原创 FindBugs 汇总(持续修改)

findbus 个人遇到过的记录

2022-07-31 01:11:20 2304

原创 vscode remote permission denied

当使用 ssh name@server_id 远程登录服务器时,出现错误提示:Permission denied (publickey). 这是因为服务器默认禁用了ssh密码登录权限。 sudo vim /etc/ssh/sshd_configPasswordAuthentication,将其后的 no 改为 yes。 sudo service ssh restart...

2022-04-28 15:39:59 5798

原创 蓝牙连接流程图

#mermaid-svg-o0FBV7ER2l5kSGUa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-o0FBV7ER2l5kSGUa .error-icon{fill:#552222;}#mermaid-svg-o0FBV7ER2l5kSGUa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-o0FBV7E

2022-04-24 11:02:22 1862 1

原创 蓝牙关闭流程

#mermaid-svg-SkXVuKe1qkaW9Nbz {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SkXVuKe1qkaW9Nbz .error-icon{fill:#552222;}#mermaid-svg-SkXVuKe1qkaW9Nbz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-SkXVuKe

2022-04-20 14:48:35 2291

原创 蓝牙打开流程

#mermaid-svg-TwTVQWqebajoz7K0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TwTVQWqebajoz7K0 .error-icon{fill:#552222;}#mermaid-svg-TwTVQWqebajoz7K0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TwTVQWq

2022-04-20 14:04:06 2254

原创 遍历文件夹性能对比

walkFileTree 与 listFile 耗时对比

2022-01-21 03:22:27 1500

原创 Gerrit 安装配置

前提:网上的教程都太老了,一会mysql版本问题,一会jdk版本问题,折腾了两天没弄好,干脆全弄最新重新搞文章目录1.jdk2.安装git3.安装apache24.安装配置gerrit5.安装gitweb6.重启gerrit和apache21.jdk直接安装11的sudo apt-get updatesudo apt list | grep jdksudo apt install openjdk-11-jdk2.安装gitsudo apt install git3.安装apache2

2022-01-02 20:08:08 8700 2

原创 Activity流程:从ActivityThread开始(一)

一个activity启动是从activityThread#main开始的,这里省掉一些判断,只看我们需要重点关注的。 public static void main(String[] args) { // 创建一个消息队列 Looper.prepareMainLooper(); //创建一个ActivityThread实例 ActivityThread thread = new ActivityThread(); thread

2021-10-19 01:24:47 383

原创 Android在线源码网站

推荐一些在线看Android源码网站

2021-10-17 10:21:42 2690

原创 Setting 主界面加载以及外部注入

Setting 主界面加载以及外部注入

2021-09-13 16:54:15 523

原创 AMS防止优先级反转

ActivityManagerService中有这么两个方法,resetPriorityAfterLockedSection()和boostPriorityForLockedSection()。直接搜是看不到这两个方法在哪被调用的,这个涉及到ASM插桩,详细可以见:Google教你用ASM:lockedregioncodeinjection。再此之前我们先理解一下什么叫优先级反转。我们先假设三个任务准备执行,A,B,C,它们的优先级依次是A>B>C;首先:C处于运行状态,获得CPU正在

2021-09-08 15:07:39 421

原创 Android 显示档位

/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java简化计算公式:x = (最短边px / 2)/ 默认dpi小: 默认显示默认: 默认显示大: x > 1.09较大:x > 1.18最大:x> 1.27默认dpi获取:adb shell wm densityadb shell getprop ro.sf.lcd_density

2021-09-07 00:24:25 528

原创 Android获取半透明属性

起因做8.0适配的时候,发现8.0上不能同时开启windowsIsTranslucent和固定屏幕方向,所以在BaseActivity中将设有半透明属性的Activity取消固定屏幕方向。解决方案1.加入版本判断,取消屏幕固定if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O) { requestionOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;}2.获取半透明属性由于

2021-08-31 01:06:20 387

原创 MinGw安装配置

1.下载安装MinGw下载地址1.版本号:选最新即可2.电脑系统架构:32位 OR 64位3.操作系统接口协议:posix 协议, Win324.异常处理模型:(seh不支持32位)5.建立修订:(未知作用)2.配置环境变量安装路径一直到bin目录3.打开cmd,输入gcc -v...

2021-08-01 16:50:15 616

原创 Google教你用ASM:lockedregioncodeinjection

boost的部分直接参考AMS中优先级调整的方法就好了。重点在于这个lockedregioncodeinjection工具具体在干嘛?

2021-07-26 00:21:15 414

原创 Malformed argument has embedded quote: -Djava.endorsed.dirs=\“\”

装了findbugs之后报错:Malformed argument has embedded quote: -Djava.endorsed.dirs=\“\”打开帮助——编辑自定义VM选项,在最后一列添加下列代码-Djdk.lang.Process.allowAmbiguousCommands=true重启idea

2021-05-16 23:48:38 797

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除