android
文章平均质量分 71
水无声风无痕
这个作者很懒,什么都没留下…
展开
-
Android 9.0 Vold 流程分析(-)
Android 9.0 Vold 流程分析原创 2022-10-19 16:00:15 · 1805 阅读 · 0 评论 -
环境搭建之使用Androidstudio来看framework代码
环境搭建之使用Androidstudio来看framework代码转载 2022-08-25 11:44:02 · 654 阅读 · 0 评论 -
使用Android Studio打开Android源码
使用Android Studio打开Android源码转载 2022-08-24 14:38:28 · 2382 阅读 · 0 评论 -
Android OTA 问题分析
分享下 Android OTA 问题分析思路,针对不同类型的问题进行分析。一、 升级过程,校验失败;升级校验失败是开发过程中常见的问题,校验失败实际是针对版本拿升级包进行打 patch,目前 Android 基本都是 block 升级,所以校验失败也就是某些 block 校验不过。1. 首先排查,设备刷的版本和升级包对应的版本是否匹配;这种情况一般比较少见,但是应当首先予以排除。查看设备的版本号,编译时间辍,和升级包里面的是否一致。这种情况包括两种:1)升级包正确,但是设备刷错了版本原创 2022-02-11 10:24:53 · 3449 阅读 · 2 评论 -
Android.mk 编译报错undefined reference to
当出现 undefined reference to xxx时,对应的lib库已经添加到LOCAL_STATIC_LIBRARIES里面,且头文件已经已经添加时,仍然报 undefined reference to, 请看下面;(下面的两种情况,每一种都是让我百思不得其解,花费将近一天时间才解决的,希望能帮助开发者们!)1、LOCAL_STATIC_LIBRARIES引用先后顺序问题 当LOCA...原创 2018-05-16 22:12:20 · 4334 阅读 · 1 评论 -
init execute_no_trans avc报错
目前要在开机启动一个服务,但是通过log分析bin启动异常,分析如下:1. 要新建对应的te文件,比如containerd.tetype containerd, coredomain, domain;type containerd_exec, system_file_type, exec_type, file_type;init_daemon_domain(containerd)2. 在需要权限的地方添加权限,比如在init.te中添加对应权限allow init containerd原创 2021-05-13 16:55:47 · 2759 阅读 · 1 评论 -
WatchDog工作原理
一、概述Android系统中,有硬件WatchDog用于定时检测关键硬件是否正常工作,类似地,在framework层有一个软件WatchDog用于定期检测关键系统服务是否发生死锁事件。WatchDog功能主要是分析系统核心服务和重要线程是否处于Blocked状态。监视reboot广播; 监视mMonitors关键系统服务是否死锁。二、WatchDog初始化2.1 startOtherServices[-> SystemServer.java]private void star转载 2022-01-07 15:14:04 · 3037 阅读 · 0 评论 -
Android9.0 HAL 层开发
1. 生成 hidl-gen 工具source source ./build/envsetup.shlunch your_projectmake hidl-gen -j42. 编写接口文件编写 types.hal, IHello.hal, IHelloCallback.hal,Android.bp1. IHello.halpackage vendor.test.hardware.hello@1.0;import IHelloCallback;interface IHello原创 2021-12-28 13:27:41 · 4588 阅读 · 0 评论 -
Android opengrok
分享个Android opengrok 方便查询代码,代码为目前Android 最新版本代码原创 2021-09-22 20:26:24 · 2797 阅读 · 0 评论 -
2021-05-07
一、两个线程启动过程SystemService.java 启动 InputManagerService 服务Service: InputManagerService.javaJNI: com_android_server_input_InputManagerService.cppInputManagerService(Context context) /*调用的第一个本地函数*/ mPtr = nativeInit(this, mContext, mHandler.get转载 2021-05-07 11:29:39 · 237 阅读 · 0 评论 -
Android的Input流程分析(好文)
ndroid 5.0中事件输入子系统的框架和流程没有本质变化。Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frameworks/base/services/input下)。通用部分的实现在/frameworks/native/libs/input/下。Android系统中负责管理输入事件的主要是InputManagerService(IMS)。它主要的任务就是从设备中读事件数据,然后将输入事件发送到焦点窗口中去,另外还需要让系统有转载 2021-05-07 11:25:51 · 1403 阅读 · 0 评论 -
init: cannot setexeccon(‘u:r:logd:s0‘): Invalid argument
android 8.0添加新的sepolicy权限后,烧boot.img,system.img到手机里面,发现服务无法起来:init: cannot setexeccon('u:r:logd:s0'): Invalid argumentservice logcatserive /system/bin/logcat -v threadtime-b radio -r 102原创 2018-02-05 10:00:29 · 9557 阅读 · 0 评论