Android Framework
文章平均质量分 59
深入探索Android Framework相关知识点,争取成为一个领域优秀工程师
坂田民工
通信电子老登
展开
-
[Android 13]Input系列--获取触摸窗口
Android 13。原创 2024-02-29 14:11:05 · 1554 阅读 · 0 评论 -
[Android 13]PowerManagerService系列1--启动流程和核心方法
Android 13。原创 2023-07-28 20:09:08 · 1878 阅读 · 0 评论 -
[Android 13]Input系列--触摸事件在应用进程的分发和处理
Android 13前面我们已经梳理了input事件在native层的传递,这一篇我们接着探索input事件在应用中的传递与处理,我们将按键事件和触摸事件分开梳理,这一篇就只涉及触摸事件。原创 2023-07-24 22:13:34 · 812 阅读 · 1 评论 -
[Android 13]Input系列--InputDispatcher事件分发
Android 13。原创 2023-07-20 22:00:47 · 513 阅读 · 0 评论 -
[Android 13]Input系列--InputReader事件处理
Android 13。原创 2023-07-19 22:31:16 · 558 阅读 · 0 评论 -
[Android 13]Input系列--EventHub获取事件
Android T从前面inputflinger的启动分析中,我们知道事件来源是在, 所以我们重点看下这个方法的流程来了解事件是如何从驱动上报中获取的。原创 2023-07-12 21:15:45 · 780 阅读 · 0 评论 -
[Android 13]Input系列--InputFlinger的启动
Android T。原创 2023-07-11 20:32:59 · 544 阅读 · 0 评论 -
[Android 13]Binder系列--获取服务
获取服务。原创 2023-07-10 20:59:34 · 740 阅读 · 0 评论 -
[Android 13]Binder系列--获取ServiceManager
获取ServiceManager。原创 2023-07-02 22:25:38 · 667 阅读 · 0 评论 -
[Android 13]Binder系列--启动ServiceManager
ServiceManager的启动hongxi.zhuAndroid 13。原创 2023-07-01 22:44:43 · 965 阅读 · 0 评论 -
[Android 13]Binder系列--注册服务
基于Android T 分析客户端进程如何通过Binder向ServiceManager进程注册服务的过程以注册SurfaceFlinger为例,分析客户端进程如何通过Binder向ServiceManager进程注册服务的过程。原创 2023-06-30 17:33:22 · 377 阅读 · 1 评论 -
[Android 13]探索ctl.属性控制服务的实现
从上面可知到当socket对端,也就是属性写入端发来数据时唤醒property-service线程,然后将消息入队,唤醒init主线程处理,第二个问题找到答案了,最后一个问题,属性控制事件怎么来的,谁发送的?搜索,实际是在bionic/libc/bionic/system_property_set.cpp中,属性写入是被libc实现为标准API了,所以每个地方写入属性都会调用到这里。这个队列中的,查找这个队列的流程,得到第二个问题的流程。根据属性的前缀,走不同的分支,我们例子看的是。开头的, 其他的同理。原创 2023-06-24 16:46:54 · 942 阅读 · 0 评论 -
[Android 13]开机动画原理分析
开机动画跑起来除了需要自身进程的启动外,还肯定以来显示系统的相关进程,即一定需要SurfaceFlinger的进程的合成和送显,所以这里需要启动SurfaceFlinger服务和bootanim服务,两者是在init.rc中启动。上面的构造方法中仅仅中只是获取了SF的session代理对象, 真正的加载逻辑在这个对象的第一次引用回调方法中(在前面的sp指针实例化时被回调)。的情况,这个名字也是很直白,开机动画的实现是图片逐帧动画,和电影的那种原理相同。获取对应的目标的rc文件,并将rc的内容。原创 2023-06-15 17:28:22 · 4421 阅读 · 2 评论 -
编译LineageOS-20并刷入Pixel 2XL
一定要小于8,推荐4~8, 因为LineageOS大部分是去拉AOSP的仓库,Google每个IP限制8个线程,超过就禁止连接,同步失败,由于时差,国内白天时,全球拉取的人数少,拉取速度快于晚上。是Google更新的关于手势的开源仓库,lineage没有及时纳入到Pixel 2XL 的device更新,所以需要我们手动导入这个模块,也是一个坑点之一,Pixel 2XL Google也是有一些文件,处于vendor分区的,并不开源,我们需要从已经刷入相同Lineage 20的Pixel 2XL中通过。原创 2023-06-06 19:28:37 · 1716 阅读 · 3 评论 -
[Android 13]自编译ROM网络连接受限
Android设备在刷了自己编译的固件后,通常连接 WiFi 会出现 “网络连接受限” 这样的字样,原因就是google默认的网络探针地址是国外的,我们在国内无法正常访问,所以出现网络受限的现象,因此我们可以通过下面的方法修改这个探针来解决这个问题。具体可以通过下面两条命令来修改,改完之后,点击飞行模式(重启下网络), 然后关闭飞行模式连接 WiFi 就会恢复正常。参考:https://www.jipinsoft.com/17906.html。方法二 (修改源码,永久生效)原创 2023-06-05 19:03:11 · 1858 阅读 · 1 评论 -
[转]从Linux 进程调度到 Android 线程管理
一篇优秀的android 进程管理的文章转载 2023-05-24 17:25:01 · 173 阅读 · 0 评论 -
Input事件在应用中的传递(一)
按键事件在应用内部的传递原创 2023-05-04 15:05:12 · 966 阅读 · 0 评论 -
Android 12添加系统服务
Android 12添加系统服务的学习记录原创 2022-09-26 00:33:32 · 2048 阅读 · 0 评论 -
SELinux for Android的基本知识和实战
了解selinux基本概念,解决常见的问题原创 2022-09-18 17:04:09 · 2176 阅读 · 4 评论 -
AIDL for HALs实战
Google 在Android 11引入了`AIDL for HALs`,旨在代替HIDL原先的作用。在之后的Android版本推荐使用AIDL 实现Hal层的访问。原创 2022-09-12 23:21:15 · 10300 阅读 · 18 评论 -
android 11 移除桌面搜索栏
移除桌面搜素栏原创 2022-07-09 22:24:34 · 1496 阅读 · 0 评论 -
[Android R] Fallbackhome的启动
[Android R] Fallbackhome的启动一、总体流程二、源码分析相关源码framework/base/core/java/com/android/internal/os/RuntimeInit.javaframework/base/core/java/com/android/internal/os/Zygote.javaframework/base/core/java/com/android/internal/os/ZygoteConnection.javaframework/原创 2022-04-24 03:53:37 · 2597 阅读 · 0 评论 -
[Android R] SystemServer启动流程
[Android R] SystemServer启动流程zhuhongxi 2022-04-22一、流程图二、具体分析相关类与文件:/system/core/rootdir/init.rc/system/core/rootdir/init.zygote64.rc/framework/native/cmds/servicemanager/ServiceManager.cpp/framework/base/cmds/app_process/app_main.cpp/frameworks/原创 2022-04-22 20:54:27 · 1688 阅读 · 0 评论 -
Android 9.0默认支持的语言
Android 9.0默认支持的语言: framework/base/core/res/res/values/locale_config.xml<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2015 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you原创 2021-12-21 11:38:36 · 2105 阅读 · 0 评论 -
Android Log模块学习
AndroidStudio中:如果我们在开发应用过程中只要debug状态时打印log,在release环境就不会打印log,可如下封装(适用于gradle编译):就是检测BuildConfig.DEBUG的值if (BuildConfig.DEBUG) { Log.v(tag, message);}控制打印某个log level以下的日志if (BuildConfig.DEBUG && Log.isLoggable("volley", Log.VERBOSE)) {原创 2021-12-02 15:24:36 · 200 阅读 · 0 评论 -
高通Android 10.0 HDMI-CEC服务分析
转载自http://www.cjcbill.com/2020/04/20/hdmi-cec/1. 背景由于项目需求,需要了解Android框架层的HDMI CEC的工作原理,关注的重点是OTT作为CEC的source端如何和与TV端的sink端进行通信。 学习代码以Android的最新代码库https://cs.android.com/中截取,分支为master分支。2. 总体概述2.1 设计架构为了迅速了解整个设计架构,可以先去Google官网查阅相关信息:https://source.an.转载 2021-11-21 18:03:06 · 3245 阅读 · 1 评论 -
深入了解Google HDMI-CEC框架(一)
深入了解Google HDMI-CEC框架(一)一、HDMI-CEC概述是什么主要功能有哪些1. TIF标准的HDMI-CEC框架HDMI Control ServiceHDMI-CEC HALDriver2. TIF中具体组件框架从源码中看整个框架的功能实现,是如何向上提供服务,如何进行事件的分发和命令的传发送和解析二、从具体功能看HDMI-CEC的基本处理流程wake-up and standby(Two-way between devices)one tou原创 2021-10-28 10:42:20 · 1067 阅读 · 0 评论 -
如何查看android设备是否支持Widevine DRM
如何查看android设备是否支持Widevine DRM在您的 Android 手机上下载并安装 DRM 信息应用程序。打开应用程序并滚动到 Widevine CDM 部分。这里检查 安全级别.你要么会看到 L1 ou L3.链接:https://rawapk.com/drm-info-apk-download/...原创 2021-10-21 15:03:13 · 3913 阅读 · 0 评论 -
Android 调试之dumpsys收集
Android 调试之dumpsys收集找到当前获取焦点的控件dumpsys window | grep -i mfocus原创 2021-10-18 10:48:18 · 253 阅读 · 0 评论 -
Android 9.0修改默认音量
Android 9.0修改默认音量(转载)最近遇到一个要修改默认音量的问题,默认的开机音量是25,需要修改成30。安卓默认的音量在下面的 DEFAULT_STREAM_VOLUME 数组里面有定义。 frameworks/base/media/java/android/media/AudioSystem.java public static int[] DEFAULT_STREAM_VOLUME = new int[] { 4, // STREAM_VOICE_CALL原创 2021-10-14 19:48:48 · 1526 阅读 · 0 评论 -
Selinux学习二
转自:https://www.jianshu.com/p/88a92d101532android上selinux相关文件源码:system/sepolicy:├── private├── public│ ├── property_contexts│ ├── property.te│ ├── file_contexts│ ├── file.te│ ├── su.te│ ├── system_app.te│ ├── system_server.te│ ├── untrusted_a转载 2021-10-08 17:48:04 · 768 阅读 · 0 评论 -
Android 11 编译报错收集
Aosp 11 编译报错收集2021-09-20 zhuhongxi1. 无法安装libesd0-dev解决办法:sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容deb http://us.archive.ubuntu.com/ubuntu/ xenial main universedeb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe更新软件源并重新安装:s原创 2021-09-20 21:46:51 · 1839 阅读 · 0 评论 -
Android Selinux 学习1
[Android Framework] selinux 添加之公式2021-8-12zhuhongxi#1. 从logcat |grep avc中找到下面格式的打印:avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=0#2. 找到添加权限的地方 一般在下面的路径,找到相应的找相应的“源类型.te ”文件,不同的芯原创 2021-08-12 21:21:51 · 231 阅读 · 0 评论 -
Android解决“此用户无法使用开发者选项“异常
Android解决"此用户无法使用开发者选项"异常针对现象:状态栏不能下拉,无法使用最近任务切换、返回桌面、锁屏界面打不开,无法解锁屏,点击版本号去打开开发者模式提示:此用户无法使用开发者选项。调试过程中没来得及做开机向导就会这样。如果你有开机向导了就启动开机向导再设置一次,开机向导里会设置这两个属性,默认的开机向导启动方式:am start -n com.google.android.setupwizard/.SetupWizardTestActivity解决方法://方法1.adb原创 2021-07-01 21:28:41 · 3226 阅读 · 3 评论 -
Android 9.0 解决无法通过adb install 安装persistent app
Android 9.0 解决无法通过adb install 安装persistent appzhuhongxi 06-30framework/base/services/core/java/com/android/server/pm/PackageManagerService.java//注释以下的掉校验 // Prevent persistent apps from being updated /*if ((oldPackage.applicationInfo.flags &原创 2021-06-30 22:33:48 · 2056 阅读 · 3 评论 -
Android HAL层/native C程序打印栈信息方法
Android HAL层/native C程序打印栈信息方法https://blog.csdn.net/zhaojia92/article/details/97827285转载 2021-06-08 16:59:31 · 192 阅读 · 0 评论 -
Android 源码制作jks签名文件
进入进入签名文件目录 /build/target/product/security第一步:openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem第二步: openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name android第三步: keytool原创 2021-05-31 21:36:30 · 202 阅读 · 4 评论 -
使用VS Code调试Android C++代码
(转载)使用VS Code调试Android C++代码 https://blog.csdn.net/zhaojia92/article/details/99774704转载 2021-05-27 18:03:25 · 260 阅读 · 0 评论 -
Android Proximity Sensor近距离传感器P-Sensor
好文章:Android 4.4中的距离/接近传感器 P-sensor(一) https://blog.csdn.net/kongjianjian1988/article/details/43524817Android Proximity Sensor近距离传感器P-Sensor详解 http://www.itxm.cn/post/266.htmlAndroid 8.1 DisplayPowerController(二) Proximity Sensor的亮灭屏 https://blog.csdn.n原创 2021-05-13 11:18:36 · 669 阅读 · 0 评论 -
Android HDMI-CEC 控制服务
相关的好文章:HDMI-CEC 控制服务 https://source.android.google.cn/devices/tv/hdmi-cecAndroid HDMI-CEC https://blog.csdn.net/lml1010402004/article/details/106058539/原创 2021-05-12 16:17:38 · 634 阅读 · 0 评论