• 2024-06-03Android Binder 机制之 ServiceManager 模块
    ServiceManager启动源码分析以Android9.0代码为例介绍Init拉起ServiceManager进程init进程通过init.rc脚本拉起Native层的ServiceManager进程init.rc//system/core/rootdir/init.rconlate-init...triggerpost-fs#late_init事件触发pos
  • 2024-05-20Android Binder 学习
    AndroidBinderAndroid作为多进程操作系统,每个功能模块都是一个独立的进程,特别是hal层将底层硬件隔离开,进程通信会频繁的发生,为了更好的在进程间通信,Android开发了Binder模块专门用于解决该问题。前置知识介绍进程执行过程Linux下进程通信方式Binder概述AndroidBin
  • 2024-04-07Android Binder——Java服务注册(九)
           对于Java端使用Binder服务,主要就是注册服务和获取服务,入口都是通过ServiceManager.java中的对应方法实现。这里我们就先介绍一下Java注册Binder服务的流程。一、ServiceManager代理       无论是ServiceManager.addService()还是Service
  • 2023-08-21Binder原理
    从进程角度看IPC机制每个Android的进程,只能运行在自己进程所拥有的的虚拟地址空间。对应一个4GB大小的虚拟地址空间,其中3GB是用户空间,1GB是内核空间,内核空间的大小是可以通过参数配置调整的。对于用户空间,不同进程之间彼此是不能共享的,而内核空间却是可以共享的。Client进程向Serve
  • 2023-08-15Android系统服务的注册方式-1
    一、概述启动过程有采用过两种不同的方式来注册系统服务:(1)ServiceManager的addService()(2)SystemServiceManager的startService()其核心都是向ServiceManager进程注册binder服务,但功能略有不同,下面从源码角度详加说明。二、SM.addService方式这里以InputManage
  • 2023-07-29Android 解耦(三)基于 APT 的解耦
    Android通过APT解耦模块依赖一、APT是什么?APT(AnnotationProcessTool)是注解处理工具,它可以在编译期间扫描和处理注解,并生成相应的Java代码。APT是Java的一个特性,但在Android开发中也有广泛的应用APT的优点是:可以在编译期间检查代码的正确性,避免运行时出现错误可以减