- 博客(784)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 133475
通过 `apt install linux-firmware` 并结合 **从GitHub获取最新固件** 并复制到 `/lib/firmware` 目录,然后重启,即可完美解决绿联AX3000在Ubuntu下的驱动问题。更常见的是看到类似 `ID 0e8d:****` 的设备(例如 `0e8d:7961`),其中 `0e8d` 就是联发科(Mediatek)的代号。* 解决方法一:进入主板的BIOS/UEFI设置界面,找到 `Secure Boot` 选项并将其设置为 **Disabled**。
2025-09-12 01:54:19
317
原创 解析LoadedApk.ServiceDispatcher.doConnected方法
假设你第一次绑定一个服务:你调用。系统启动服务(如果需要)并调用其onBind()方法。系统(AMS)通过 Binder IPC 将onBind()返回的IBinder对象发送回你的应用进程。应用进程内部的收到这个消息,然后调用。方法:发现中没有旧记录。因为= null,它创建一个新,注册死亡监听,并将新连接存入 Map。因为没有旧连接 (),所以不会调用。因为,所以不会调用。因为= null,它会调用你的。你在中拿到了(通常需要转换成具体的接口),现在可以开始调用服务的方法了。整个。
2025-09-03 19:28:26
833
原创 安卓系统中IServiceConnection.aidl对应的是哪个类?
角色类/接口所在进程作用接口契约定义AMS可以回调的应用进程方法(通知连接状态)Binder 代理系统进程AMS持有的对象,用于回调应用进程具体实现应用进程实现接口,接收AMS的回调最终处理及你写的应用进程执行回调的具体逻辑(调用你的onServiceConnected方法)你想订阅一份杂志(绑定Service你填写了一份订阅单),订阅单上需要留下你的联系方式(一个对象)。杂志社(AMS)收到订阅单,之后每当有新杂志出版(Service已连接)或者杂志停刊了(Service断开。
2025-09-03 16:08:11
670
原创 安卓系统中IApplicationThread.aidl对应的是哪个类
角色类/接口所在进程作用接口契约定义AMS可以调用的应用进程方法Binder 代理系统进程AMS持有的对象,用于调用应用进程具体实现应用进程实现接口,接收AMS的调用最终处理H应用进程执行AMS请求的具体逻辑(如创建Activity)就像是一份“工作订单”的模板,上面列出了所有可以下达的指令(等)。AMS是“总经理”,他根据情况填写这张“工作订单”,然后派发出去。是应用部门的“前台接待”,他接收来自总经理的“工作订单”。是应用部门的“工程师”
2025-09-03 15:15:03
850
原创 SystemServer.java的run方法都干了些什么?(2)
────────────────── 12. 启动三大类服务 ────────────────── t.traceBegin("StartServices");────────────────── 14. 记录系统就绪时间 & 诊断 ────────────────── if (!────────────────── 8. 加载 native 库 & 调试功能 ────────────────── System.loadLibrary("android_servers");
2025-08-29 17:47:02
664
原创 SystemServer.java的run方法都干了些什么?(1)
准备舞台:配置环境、安全策略、性能调优和调试工具。搭建基础:启动最低限度的、相互依赖的核心服务(引导服务)。填充核心:启动运行所需的关键服务(核心服务)。构建完整系统:启动所有剩下的功能服务(其他服务),并通知系统已准备就绪。保持运行:进入事件循环,等待并处理来自系统各处的请求,使 Android 系统得以持续运转。这个过程确保了所有系统服务以正确的顺序初始化,满足了它们之间的依赖关系,最终为用户交互和应用程序运行提供了一个完整的平台。
2025-08-29 17:43:12
483
原创 请详细介绍RuntimeInit.java中的MethodAndArgsCaller类
所属文件核心身份: 一个特殊的Exception子类。核心使命: 并非用于表示错误,而是作为一种控制流机制,用于在 Zygote 进程成功 fork 出子进程后,将执行逻辑从系统启动代码安全地、干净地跳转到应用程序的main方法(例如让我们先看看它的代码(基于 Android 13 源码):java/*** 一个异常类,持有我们想要调用其 main 方法的一个方法及其参数。*//** 要调用的方法 *//** 要传入方法的参数数组 */try {
2025-08-28 17:13:41
900
原创 linux指令 kill -9是什么意思?
信号名称信号编号作用SIGHUP1挂起。常用于让守护进程重新读取配置文件,而不需要重启。SIGINT2中断。等同于在终端按Ctrl + C。SIGQUIT3退出。等同于按Ctrl + \。通常会生成核心转储文件。SIGTERM15终止。这是kill命令的默认信号,请求进程正常退出。SIGKILL9杀死。强制立即终止进程,无法被捕获或忽略。最后的手段。SIGSTOP17,19,23停止(暂停)进程。等同于按Ctrl + Z。你可以使用kill -l命令列出所有可用的信号。kill -9。
2025-08-22 12:59:44
971
原创 system\core\init\init.cpp----LoadBootScripts()解析init.rc(2)
这段代码是安卓系统启动时用于加载和解析初始化脚本(rc文件)的核心函数,主要功能是根据系统属性或默认路径加载配置文件,构建服务(Service)和动作(Action)的管理结构。
2025-08-21 19:42:55
782
原创 system\core\init\init.cpp----LoadBootScripts()解析init.rc(1)
c++函数名(加载启动脚本)作用: 这是 Android 启动过程中非常关键的一步,它负责读取系统各个分区中的.rc配置文件,并将这些文件中定义的动作(Actions) 和服务(Services) 注册到管理器中,后续init进程会根据这些配置来执行命令、启动守护进程和服务。参数on boot)会添加到这里。)会添加到这里。c++// 正常启动流程...} else {是一个 Android 系统属性,通常由 bootloader 在启动内核时通过命令行 (cmdline) 传入。
2025-08-21 19:41:36
680
原创 ls -l首字母代表的含义?
当然!ls -l命令列出的详细信息中,每一行的代表了。它就像是一个标签,告诉你你正在查看的是普通文件、目录、还是一个链接等。
2025-08-21 16:42:15
292
原创 安卓aosp中prebuilts文件夹为什么占用空间这么大?
特性 | AOSP (prebuilts/) | 传统项目(如 Linux Kernel) |构建方式| 使用自带的、版本锁定的预编译工具 | 依赖主机系统已安装的工具 |一致性高,构建结果可重现 |较低,受主机环境影响 |入门门槛低,下载后几乎无需配置 |中/高,需要手动安装和配置工具链 |首次构建时间相对较短(无需编译工具链) |相对较长(但如果工具链已装好也很快) |源代码体积巨大(100GB+) |较小所以,prebuilts/
2025-08-19 20:07:36
588
原创 init pid=1属于内核进程么?
这是一个关键问题,涉及到 Linux 和 Android 启动过程中的核心概念。。在 Linux 内核启动函数中创建:c// 位于 init/main.c// ★ 创建 PID=1 的内核线程...// 进入 idle 循环此时函数在内核空间执行具有内核特权(可访问所有内存、硬件)在函数中完成转变:c// 阶段1:内核空间初始化// 完成内核基础服务初始化// ★ 关键转变点 ★// 尝试执行 /initif (!// 尝试执行内核参数指定的init...
2025-08-18 19:40:15
475
原创 kotlin和Jetpack Compose对于Android系统来说是什么关系?
Kotlin是 Android 开发的通用编程语言,用于编写所有应用逻辑是专门用于构建 UI 的声明式框架,完全基于 Kotlin两者关系:Compose依赖于Kotlin,使用 Kotlin 语言特性实现其 API,共同提供现代化的 Android 开发体验组合优势:更简洁的代码、更少的错误、更高的开发效率和更好的性能。
2025-07-21 08:58:29
1146
原创 QT Creator的快捷键设置 复制当前行 ctrl+d 删除当前行 ctrl +y,按照 AS设置
查找 delete line 和 copyline。
2025-06-24 15:59:47
173
原创 kernel/include/uapi/asm-generic/ioctl.h
define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size))) // 双向。#define _IOW(type,nr,size) _IOC(_IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size))) // 写操作。#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) // NR 掩码 (0xFF)
2025-06-23 12:28:04
627
有偿求助:让一个安卓9.0的硬件产品可以正常使用谷歌系列app
2021-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人