![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓系统开发过程中的奇技淫巧
文章平均质量分 94
Super Jang
300字以内
展开
-
debug:am trace-ipc源码分析
如果您有 binder 事务,则可以使用以下adb命令做了什么呢,打开每个进程的binder trace记录开关tracingEnabled。当本进程发起ipc时获取调用栈保存起来TransactionTracker#mTraces。打开systrace开关,此时抓systrace、perfetto会记录slice命令将上述每个进程保存的调用栈写入到文件还有个Binder.ProxyTransactListener值得关注。...转载 2022-08-12 09:50:30 · 256 阅读 · 0 评论 -
Android native and Java 互调记录
安卓framework使用java和c++(或者c)语言共同开发,为了使java和c无缝切换,安卓定义了一套native机制(源于java语言的native机制)。 在此已InputMangerServie服务为例,记录一下两种语言无缝切换的方式,方便于以后开发。当安卓linux内核启动以后会读取init.rc等rc文件去加载一些进程,这些进程包含安卓的adbd,bootanimation,zygote等,但是在启动zygote时会首先启动runtime,runtime作为zygo...原创 2020-08-17 21:00:01 · 222 阅读 · 0 评论 -
Android9鼠标双屏控制实现
首先上一张思维导图来简单梳理一下鼠标事件的上报,以及native层和java层的关联,以及InputManagerService和WindowManagerService的关联以及互调。其实最初的关联是在SystemServer启动的时候实现,在实例化wm的时候将IMS传入如下代码:wm = WindowManagerService.main(context, inputManager,mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL..原创 2020-08-11 20:32:21 · 2190 阅读 · 15 评论 -
安卓各个img手动打包解包,挂载安卓img到pc
Pack/unpack factory image:http://rex-shen.net/android-unpackpack-factory-images/A typical Android factory package contains several image files, such as system.img, cache.img, userdata.img, boot.im...原创 2018-08-28 10:21:15 · 12042 阅读 · 2 评论 -
安卓PackageManagerService scanDirLI流程分析
最近整理PackageMangerService相关代码,追到scanDirLI这部分内容,感觉整个流程非常繁琐,这一步又是安卓开机必经的路径,在PackageMangerService的构造函数中会把所有机器安装的app进行扫描(加密模式下普通用户app不被扫描onlyCore模式),其中会检查apk的合法性,扫描apk中的AndoridManifens.xml的一些属性,以及读取apk的ass...原创 2019-07-09 11:51:18 · 417 阅读 · 0 评论 -
Android MVVM之Room学习记录,从零开始实现
本文源码请戳:AndroidRoom MVVM架构示例记录几个国内的android studio使用的maven代理地址maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/jcenter' }maven { url '...原创 2019-07-22 15:44:42 · 727 阅读 · 0 评论