Android Framework
月山知了
毕业于郑州大学,目前,从2015-01月,开始从事于Android Framework开发工作,linux driver BSP开发。
展开
-
android源码:aidl调试
android源码:aidl调试原创 2024-04-12 16:15:17 · 237 阅读 · 1 评论 -
Android源码编译时,有的aidl文件文为何没有转为java文件?
Android源码编译时,有的aidl文件文为何没有转为java文件?原创 2024-04-12 14:54:39 · 436 阅读 · 0 评论 -
Android: alarm定时很短时,比如500ms,测试执行mPowerManager.forceSuspend()后,系统不会suspend
Android: alarm定时很短时,比如500ms,测试执行mPowerManager.forceSuspend()后,系统不会suspend原创 2024-01-18 13:30:44 · 615 阅读 · 0 评论 -
Android hwcomposer服务启动流程
Android hwcomposer服务启动流程原创 2023-12-14 14:44:56 · 844 阅读 · 0 评论 -
android 新增 key按键(framework层适配和调试)
android 新增 key按键(framework层适配和调试)原创 2023-12-01 09:40:34 · 637 阅读 · 0 评论 -
ubuntu上android功耗分析battery-historian工具环境搭建
ubuntu上android功耗分析battery-historian工具环境搭建原创 2023-11-28 13:35:12 · 564 阅读 · 0 评论 -
Android perfetto性能分析工具总结
Android perfetto性能分析工具总结原创 2023-08-22 14:04:57 · 664 阅读 · 0 评论 -
Android DeviceConfig.java 系统设备配置调试命令:device_config命令
Android DeviceConfig.java 系统设备配置调试命令:device_config命令原创 2023-05-18 11:05:09 · 1136 阅读 · 0 评论 -
Android overlay总结
Android overlay总结原创 2023-05-10 09:04:10 · 1096 阅读 · 0 评论 -
android framework系统开发总结
android framework系统开发总结:原创 2022-12-07 14:00:15 · 3130 阅读 · 0 评论 -
Android freeform多窗口模式和Desktop电脑模式使能
Android freeform多窗口模式和Desktop电脑模式使能原创 2022-12-06 18:07:07 · 2160 阅读 · 0 评论 -
Android Framework开发常用log
Android Framework开发常用log原创 2022-12-06 14:24:48 · 656 阅读 · 0 评论 -
Android T: InputDispatcher调试开关
Android T InputDispatcher 的属性动态debug开关原创 2022-11-15 10:29:02 · 758 阅读 · 0 评论 -
ubuntu终端 Windows Subsystem for Linux:WSL中使用window中的命令,如adb命令
ubuntu终端 Windows Subsystem for Linux:WSL中使用window中的命令,如adb命令原创 2022-11-07 13:04:10 · 902 阅读 · 0 评论 -
比Source Insight更方便,用Android Studio阅读android系统源代码
比Source Insight更方便,用Android Studio阅读android系统源代码原创 2022-10-10 15:36:23 · 1625 阅读 · 0 评论 -
基于Android T代码分析: 在freeform窗口的标题栏拖动时移动窗口流程和拖动freeform窗口边沿改变大小流程
基于Android T代码分析: 在freeform窗口的标题栏拖动时移动窗口流程和拖动freeform窗口边沿改变大小流程原创 2022-09-05 13:55:31 · 2944 阅读 · 0 评论 -
Android WMS架构俯视图:WindowContainer树形组合模式-理论基础+实践结果
Android WMS架构俯视图:WindowContainer树形组合模式-理论基础+实践结果原创 2022-08-10 10:54:43 · 1605 阅读 · 0 评论 -
Android基础架构:Native层 Looper、Handler、Message 研究
Android基础架构:Native层 Looper、Handler、Message 研究原创 2022-08-03 18:05:23 · 597 阅读 · 0 评论 -
Android Studio的Layout Inspector调试界面ui布局
前提条件是:1,如果手机系统版本是user版本,只能调试debug版本的app2,如果手机系统是userdebug版本,可以调试release版本和debug版本的app的界面布局ui原创 2022-04-02 10:44:25 · 3538 阅读 · 0 评论 -
Android DDMS Dump View Hierarchy 调试界面环境搭建
Android DDMS Dump View Hierarchy 调试界面环境搭建sdk/tools/monitor.bat 双击打开,点击 Dump View Hierarchy 抓取ui界面jdk环境版本要为jdk1.8左右的,比较新的jdk环境,会导致sdk/tools/monitor.bat 双击打不开。比如:我用的是:openjdk-8u41-b04-windows-i586-14_jan_2020.zip是从https://jdk.java.net/java-se-ri/8-MR3网址原创 2022-04-01 17:55:36 · 2427 阅读 · 0 评论 -
[Android S] statsd 统计log信息流程
Android S: statsd 统计log信息流程参考文档:https://source.android.google.cn/devices/architecture/modular-system/statsdhttps://www.dazhuanlan.com/ostrichmyself/topics/1301914移动端 Statsd In android 9 (1)https://blog.csdn.net/ho_mgx/article/details/113486753Android原创 2022-02-25 16:25:40 · 4642 阅读 · 0 评论 -
Android S:cmd window logging 和 dumpsys window logging 调试WMS功能
Android S:cmd window logging 和 dumpsys window logging 调试WMS功能$ cmd window loggingUnknown commandWindow manager logging options: start: Start proto logging stop: Stop proto logging enable [group...]: Enable proto logging for given groups disable原创 2022-01-17 10:04:12 · 2392 阅读 · 0 评论 -
Android S上: C++和java打印调用堆栈以及addr2line使用
1,C++打印调用堆栈:1,C++打印调用堆栈:#include <utils/CallStack.h>CallStack stack("xxx");shared_libs:["libutilscallstack"]C++堆栈log demo:C++堆栈log demo: log : #06 pc 00000000000a47d4 /system/lib64/libmediaplayerservice.so (android::StagefrightRecorder::stop原创 2021-12-13 15:11:42 · 4881 阅读 · 0 评论 -
Android LocalServices解耦妙用: system_server进程中各个服务之间的连通器LocalServices
Android LocalServices解耦妙用: system_server进程中各个服务之间的连通器LocalServicesLocalServices是system_server进程中各个服务提供的本地服务。本质上分析:LocalServices就是一个公开缓存池,system_server进程中每个服务都可以往LocalServices放对象。例如:ActivityTaskManagerService服务,通过如下方法:LocalServices.addService(ActivityT原创 2021-12-08 15:25:04 · 1122 阅读 · 0 评论 -
Android S: SurfaceFlinger指Surface.java的用途
Handle onto a raw buffer that is being managed by the screen compositor.Surface是一个句柄,该句柄是指向由屏幕合成器管理的原始缓冲。A Surface is generally created by or from a consumer of image buffers (such as aSurface通常被图像缓冲区的消费者创建或来自于其。{@link android.graphics.SurfaceTexture},原创 2021-11-20 11:41:49 · 1584 阅读 · 0 评论 -
Android S:SurfaceFlinger之SurfaceControl.java的用途
Handle to an on-screen Surface managed by the system compositor.SurfaceControl是一个句柄,该句柄是指向由系统合成器管理的屏幕上Surface。The SurfaceControl is a combination of a buffer source, and metadata about how to display the buffers.SurfaceControl是缓冲区源和有关如何显示缓冲区的元数据的组合。By原创 2021-11-20 11:19:35 · 3976 阅读 · 0 评论 -
Android R: mFocusedWindow和mFocusedApp更新流程
Android R: mFocusedWindow和mFocusedApp更新流程有些场景下会根据mFocusedWindow和mFocusedApp做一下开发。所以,分析mFocusedWindow和mFocusedApp更新流程还是有必要的。1,mFocusedWindow更新流程mFocusedWindow是WindowState类mFocusedWindow在DisplayPolicy类中mFocusedWindow更新的接口在:WindowManagerService.updateF原创 2021-07-06 17:57:19 · 1436 阅读 · 1 评论 -
Android R Activity启动流程:逆向代码参数化的信息到客户需求
Android R Activity启动流程:逆向代码参数化的信息到客户需求client客户端:ActivityTaskManager.getService().startActivity(whoThread, who.getBasePackageName(), who.getAttributionTag(), intent, intent.resolveTypeIfNeeded(who.getContentResolv原创 2021-06-25 11:09:59 · 159 阅读 · 0 评论 -
logcat -b events和EventLogTags在代码中打印该events log的位置对应关系
logcat -b events和EventLogTags在代码中打印该events log的位置对应关系1, events log for activity生命周期:1, events log for activity生命周期:logcat -b events | grep -E "wm_|am_"events log: wm_create_task: [0,27]events log对应的代码grep -r "writeWm" ./frameworks/base/services --i原创 2021-06-23 18:16:52 · 1274 阅读 · 0 评论 -
Android R: updateConfiguration()的relaunch App流程
updateConfiguration()的relaunch App流程在这里插入代码片切换系统语言更新Configurationframeworks/base/core/java/com/android/internal/app/LocalePicker.javapublic static void updateLocales(LocaleList locales) { try { IActivityManager am = ActivityManager.getServi原创 2021-05-28 17:35:02 · 1843 阅读 · 0 评论 -
Android R: 记一次修复AOSP的Desktop(桌面模式)或者External Display(扩展投屏)点击最大化按钮,跳出其他应用App问题
Android R: 记一次修复AOSP的Desktop(桌面模式)或者External Display(扩展投屏)点击最大化按钮,跳出其他应用App问题原因分析:抓取点击设置App的最大化按钮,窗口慢慢放大时的当时的log2_log_click_Minimize_when_app_to_zoom_in__dumpsys_SurfaceFlinger.txt此时发现设置App的层级已经跑到了桌面App和其他App的下面,壁纸的上面,所以,就导致了该问题。此时,发现设置App层级有两个:一个是设原创 2021-04-19 09:50:07 · 975 阅读 · 0 评论 -
Android R aidl文件转换为java文件方法
1,Android R publice类型的aidl文件生成的java文件的目录在:out/soog/.intermediates/2,Android R中如果aidl文件被标记为hide,则需要通过aidl命令,手动转换aidl文件到java文件:方法是:$ make aidl$ out/host/linux-x86/bin/aidl -I./frameworks/base/core/java/ -p./prebuilts/sdk/current/public/framework.aidl ./原创 2021-03-29 17:59:26 · 935 阅读 · 0 评论 -
Android R或Android 11 上柔和缓慢的背光亮度调节实现
Android R或Android 11 上柔和缓慢的背光亮度调节实现相关代码:DisplayPowerController.javaprivate final float mBrightnessRampRateSlow = 0.2352941f;BrightnessSynchronizer.java52 public static final float EPSILON = 0.001f;修改方案:1,把EPSILON的千分之一精度,改成万分之一精度。即:public stati原创 2021-03-04 13:30:08 · 1499 阅读 · 1 评论 -
jadx反编译工具可以反编译jar和apk
jadx反编译工具可以反编译jar和apk1,背景有时候,在处理gts测试问题时,由于gts测试工具里的apk,在android系统源码中没有源码。为了分析gts测试工具的apk到底进行了什么测试时,就需要通过jadx反编译apk进行查看原因了。2,jadx使用技巧从https://github.com/skylot/jadx下载jadx源码然后导入到Android Studio中进行编译。编译好之后,在jadx-master\jadx-gui\build\scriptsShadow\jad原创 2020-11-25 10:02:27 · 1441 阅读 · 0 评论 -
adb shell cmd overlay调试命令方便查看系统framework字符资源值
cmd overlay调试命令方便查看系统framework字符资源值由于有overlay的存在,有可能字符资源被overlay了,所以,之前调试framework中的字符资源的值实际上是多少时,都是使用 apktool进行反编译调试。今天发现cmd overlay命令更方便一些。apktool d -f framework-res.apk -o out格式为:apktool d [-s] -f -o ,参数具体的意思可以直接打apktool回车(windows)查看帮助$ cmd overl原创 2020-11-19 13:27:08 · 4092 阅读 · 0 评论