sheldon_blogs

随笔分类 -  Android 系统开发

1 2 3 4 下一页

Android 系统开发知识和框架分析
Android14 RK3588平台内核异常中断占用CPU问题排查
摘要:一、问题: top 查看各进程状态,发现有1个 ksoftirqd/0 进程占满了1个cpu核,该进程属于内核软中断: Tasks: 336 total, 2 running, 334 sleeping, 0 stopped, 0 zombie Mem: 8037864K total, 309152 阅读全文

posted @ 2026-01-16 14:06 sheldon_blogs 阅读(6) 评论(0) 推荐(0)

Android平台移植stress-ng工具及使用
摘要:1.简介 stress-ng是一款用于对系统进行压力测试的工具,可以对系统的多种资源指标进行测试,包括但不限于CPU、磁盘、网络、内存、进程、文件系统等。用户可以根据自己的需求选择相应的负载模式,并设置负载级别、持续时间等参数来控制测试的强度和时长。当stress-ng测试CPU时,会不断调用进程, 阅读全文

posted @ 2025-10-27 18:03 sheldon_blogs 阅读(183) 评论(0) 推荐(0)

Android OTA的两种方式:Non-A/B(recovery)和A/B系统升级
摘要:一、Recovery系统升级 Recovery升级也就是传统的非A/B升级(Non-A/B System Updates) 工作流程: 下载更新包:用户接收到更新通知后,下载OTA(Over-The-Air)更新包。 准备更新:下载完成后,系统会将更新包解压并准备进行安装。 安装更新:设备进入恢复模 阅读全文

posted @ 2025-04-08 11:46 sheldon_blogs 阅读(2178) 评论(0) 推荐(0)

Android设备之间UVC Gadget bulk模式无法正常打开问题
摘要:平台:RK3588Android版本:12 内核版本:Linux 5.10.66 问题: 通过usb gadget枚举uvc设备后,使用bulk传输,连接windows PC可用正常打开预览,连接到另外Android Host设备无法正常打开。如果使用isochronous方式传输则都正常。 分析: 阅读全文

posted @ 2024-09-03 10:28 sheldon_blogs 阅读(940) 评论(2) 推荐(0)

Android的USB网络共享功能
摘要:一、什么是USB网络共享? USB 共享网络是一种基于 USB 接口的数据传输和资源共享解决方案,例如 Android设备作为一个usb网卡连接到其他主机,将Android设备的网络共享给主机使用。在Android系统设置中的 “开发者选项” 中,可以找到usb的默认配置选择USB 共享网络的功能, 阅读全文

posted @ 2024-08-21 19:24 sheldon_blogs 阅读(7990) 评论(0) 推荐(0)

Android开放配件 (AOA) 协议
摘要:一、背景 自Android 3.1之后的版本,Google引入了USB Accessories的概念,并提供了相关的开发库。Android3.1之后的版本不仅可以让Android设备作为USB Host的角色支持USB鼠标、键盘、游戏手柄等,还可以以USB Device的角色与一些具有USB Hos 阅读全文

posted @ 2023-11-29 12:28 sheldon_blogs 阅读(2896) 评论(0) 推荐(0)

Android(S)系统属性服务详解
摘要:1.简介 Android系统中,为统一管理系统的属性,设计了一个的属性系统,每个属性都有一个名称和值,都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。系统属性根据不同的应用类型,分为不可变型,持久型,网络型,启动和停止服务等。 属性名称以“ro.”开头,那 阅读全文

posted @ 2023-10-19 16:12 sheldon_blogs 阅读(2630) 评论(0) 推荐(0)

Android12 双屏异显/异触流程分析
摘要:一、异显apk示例代码 安卓12系统源码的ApiDemo的示例代码:development/samples/ApiDemos/src/com/example/android/apis/app/PresentationActivity.java 该demo主要演示presentation的用法,pre 阅读全文

posted @ 2023-08-14 16:20 sheldon_blogs 阅读(4847) 评论(0) 推荐(2)

Android Webview 调试总结
摘要:一、升级webview版本 (1). 下载需要更新的Webview apk。如果不能FQ可以用下载好的版本(兼容32/64位):Webview-115.0.5790.138 (2). 在路径\aosp\external\chromium-webview\prebuilt\下替换arm或arm64架构 阅读全文

posted @ 2023-08-09 11:36 sheldon_blogs 阅读(5622) 评论(0) 推荐(0)

Android UVC Camera H.265帧序错乱问题
摘要:RK3588平台同时预览5路H265 4K摄像头,出现其中一路画面卡死异常,从log分析看出现了上层拿到的帧序乱了,先执行的uvc_video_next_buffers 先写的1890 后写的1891,但是add tail on buffer queue 是先执行的1891 后执行的1890: 01 阅读全文

posted @ 2023-01-13 19:29 sheldon_blogs 阅读(983) 评论(0) 推荐(0)

RK3588 Android12 一个固件兼容多个板型方案
摘要:一、专业术语:DTB, DTBO, DTC, DTO,DTS, FDT。 它们之间的关系可以描述为:DTS 是用于描述 FDT 的文件;DTS 经过 DTC 编译后可生成 DTB/DTBO;DTB 和 DTBO 通过 DTO 操作可合并成一个新的 DTB;通常情况下很多用户习惯把“DTO“这个词的动 阅读全文

posted @ 2022-12-27 20:30 sheldon_blogs 阅读(5041) 评论(0) 推荐(1)

Android编译脚本添加kernel编译选项传入宏定义
摘要:Android系统开发时针对不同产品(硬件)差异,驱动层需要做逻辑区分,需要获取当前产品平台信息做客制化处理,其中一种方式是编译时通过编译选项KCFLAGS=-DXXXX传入宏定义给kernel使用,驱动代码中可以直接通过宏开关走不同逻辑: #ifdef XXXX//......#endif 例如: 阅读全文

posted @ 2022-12-22 16:57 sheldon_blogs 阅读(354) 评论(0) 推荐(0)

UAC实例分析-USB音响
摘要:在Android USB之复合设备(gadget)详解一篇中提到了USB Gadget UAC(USB Audio Class)的使用。Rockchip 平台可以支持 UAC1(兼容 USB Audio Class specification 1.0)和 UAC2(兼容 USB Audio Clas 阅读全文

posted @ 2022-11-30 17:36 sheldon_blogs 阅读(4868) 评论(0) 推荐(0)

Android USB之复合设备(gadget)详解
摘要:一 .USB gadget driver USB gadget驱动描述了USB设备控制器的硬件操作方法,不同的USB控制器实现不同。有的USB控制器只能作为设备控制器,如ompa、pxa2等USB设备控制器,其驱动在drivers/usb/gadget/udc文件夹中。有的USB控制器即可做主机控制 阅读全文

posted @ 2022-10-22 16:26 sheldon_blogs 阅读(9248) 评论(0) 推荐(1)

Android TV : 平台性能调试方法
摘要:硬件相关CPU/GPU/DRAM/EMMC 1.指令调试(MTK): CPU busybox mpstat //查看各cpu的占用率,比top更平滑cat /proc/cpuinfo //查看CPU核数,arm版本等信息cat /sys/devices/system/cpu/cpu0/cpufreq 阅读全文

posted @ 2022-05-27 16:39 sheldon_blogs 阅读(1391) 评论(0) 推荐(0)

Android TV : 电视输入框架(TIF)剖析
摘要:Android TIF(Android TV input Framework)是Google向电视制造商提供了一套标准的API,用于创建Input模块来控制Android电视。这套API的底层实现的原理是aidl和provider,从而进行了跨进程通信。系统或第三方的应用可以通过TIF获得所有输入( 阅读全文

posted @ 2021-07-24 16:13 sheldon_blogs 阅读(6026) 评论(0) 推荐(1)

Git : error: object file xxx is empty 错误修复方法
摘要:git log发现如下错误信息: error: object file .git/objects/20/6e7330a25fe1f1e533b5f769103e37e2a5c7f4 is empty error: object file .git/objects/20/6e7330a25fe1f1e 阅读全文

posted @ 2021-06-16 13:55 sheldon_blogs 阅读(3422) 评论(0) 推荐(0)

Android 9.0 网络之netd详解
摘要:一、DHCP流程 分析netd之前先了解一下网络自动获取IP流程,借鉴下图流程查看代码: (1)WIFI扫描到可用网络后进行连接,代码路径:\frameworks\opt\net\wifi\service\java\com\android\server\wifi\WifiStateMachine.j 阅读全文

posted @ 2021-06-14 14:01 sheldon_blogs 阅读(8673) 评论(0) 推荐(0)

音频信号类型及协议基础知识
摘要:一、模拟信号 智能硬件产品中,模拟音频主要用在:喇叭播放声音、Line-in外接音源、麦克风输入等。通常看到的音频波形,都是模拟音频,能够和声音实际的波动完全对应起来。 当前有不少音频产品使用D类音频功放,输出波形看起来是方波,但实际上还是属于模拟音频类型。是高频载波叠加的模拟音频的波形,经过LC滤 阅读全文

posted @ 2021-04-30 16:46 sheldon_blogs 阅读(9349) 评论(0) 推荐(0)

Android : 判断平台是否支持wifi功能
摘要:一、配置 Android4.0及以上版本的模块判断函数:getPackageManager().hasSystemFeature(String string). 通过该函数判断系统是否有特定的模块功能。例如判断是否有wifi的具体代码:getPackageManager().hasSystemFea 阅读全文

posted @ 2021-03-03 11:19 sheldon_blogs 阅读(1019) 评论(0) 推荐(0)

1 2 3 4 下一页

导航