Android-机制
安德路
不将就,一步一个脚印
展开
-
Binder 之Client-Server通信
Linux进程间通信BinderClient-Server原创 2017-09-13 17:54:26 · 807 阅读 · 0 评论 -
Android系统之智能指针sp和wp回顾
概述Android中的智能指针是对C++中的对象回收机制的封装,C++中的构造函数和析构函数是在对象new出来和delete的时候调用的,但是一个在销毁一个对象的时候,我们需要手动的调用delete关键字来销毁,但是在Java中我们无需在乎这些对象的销毁工作,都是由垃圾回收器来做了,所以在Android系统层,为了达到Java的这个自动管理对象的效果,就出现了智能指针的概念了,他的出现类似于J...原创 2018-05-14 19:45:39 · 495 阅读 · 0 评论 -
Android 中的锁Mutex和条件Condition
MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源Mutex的声明和实现//Mutex.h class Mutex {48 public:49 enum {50 PRIVATE = 0,51 SHARED = 152 };53 54 ...原创 2018-08-02 16:46:47 · 2568 阅读 · 0 评论 -
android sepolicy 最新小结
两种模式标签、规则和域实现 SELinuxneverallow 规则编译sepolicySource filesPlatform public sepolicyPlatform private sepolicyPlatform private mappingsepolicy兼容性Object ownership and labelingType/attribute n...原创 2018-09-07 16:28:04 · 21400 阅读 · 3 评论 -
Android 8.0 architecture partitions
Android partitions. ●system.img. Contains mainly Android framework. ● boot.img. (kernel/ramdisk) Contains Linux kernel + Android patches. ● vendor.img. Contains SoC-specific code and configuratio...转载 2018-09-07 16:36:03 · 610 阅读 · 0 评论 -
Android sepolicy简要记
安全上下文Seapp_contextsFile_contextsService_contextsProperty_contextsHwservice_contexts安全策略常见错误修改违反规则的同时又neverallow问题修改方式一:更改type方式二 通过binder/socket 等方式连接APP 访问方式三 更改LabelProcess 无法访问某个新增d...原创 2018-09-07 18:36:12 · 24332 阅读 · 4 评论 -
Android系統中的LocalService
Google将service分成binderservice和localservice。如果service只在本进程使用,则可以将这个service发布为localservice,避免进程间通信。1 Localservice的定義實現下面以DeviceStorageMonitorService來解說,該service繼承自SystemService,通過publishLocalService发布...原创 2019-01-25 20:25:01 · 5614 阅读 · 0 评论 -
SWT问题分析总结
文章目录1 概述2 SWT机制2.1 原理设计框图2.2 Watchdog的初始化2.3 Watchdog的运作3 导致 SWT 重启原因4 log分析4.1 搜索关键 watchdog4.2 搜索关键字 held by4.3 检查Binder的Server 端4.3.1 重要信息4.3.2 如何确定binder的对端5 案例1 概述一般手机异常reboot的原因:Reboot rootca...原创 2019-03-06 17:23:35 · 10361 阅读 · 3 评论 -
Android Binder机制 原理
Linux进程空间内核模块/驱动Binder 架构Binder 机制Binder 进程与线程ServiceManagerServiceManager 启动ServiceManager 注册服务ServiceManager 获取服务进行一次完整通讯Linux进程空间一个进程空间分为 用户空间 & 内核空间(Kernel),即把进程内 用户 &a...转载 2018-05-11 19:38:37 · 1228 阅读 · 0 评论 -
实例分析init.rc的语法
1# Copyright (C) 2012 The Android Open Source Project2# Copyright (C) 3# Copyright (C) 4#5# IMPORTANT: Do not create world writable files or directories.6# This is a common source of Android secu...转载 2018-04-25 09:59:26 · 717 阅读 · 0 评论 -
Android AIDL回顾
概述AIDL全名 Android Interface Definition Language,是一种接口定义语言,也是Android系统的一种跨进程通信机制,其本质是系统为我们提供的一种快速实现Binder的工具,是Binder最简单的应用。关于数据AIDL文件中并不是所有的数据都可以使用,能够使用的数据类型包括如下几种:* 除short外的基本数据类型(int, long...原创 2018-05-08 21:18:35 · 249 阅读 · 0 评论 -
Android多媒体之binder机制
BinderMediaPlayerServiceProcessStateServiceManager原创 2017-09-14 16:39:13 · 511 阅读 · 0 评论 -
init.rc深入学习
语法部分actionsserviceoptionscommandscommandsinitrc的变化initcppLOCAL_INIT_RC原创 2017-11-02 17:36:09 · 9187 阅读 · 0 评论 -
AHandler and AMessages
AHandlerAMessageonMessageReceivedALooper转载 2017-11-06 17:48:39 · 592 阅读 · 0 评论 -
android如何添加全局变量宏开关
systempropSettingProvidersystem.prop转载 2017-12-07 14:44:07 · 3034 阅读 · 0 评论 -
Android 系统进程间的关系
转载:Android 进程整理概括1 父进程2 重量级进程进程1 kthreadd子进程2 init子进程3 Zygote子进程线程1 Zygote 子线程2 system_server 子线程3 mediaserver 子线程4 app 子线程概括系统启动架构图: 本文是从进程/线程的视角来分析该问题。1.1 父进程在转载 2018-01-18 09:14:17 · 1573 阅读 · 0 评论 -
Android Permissions
随着时间的推移,Android已经支持各种各样的存储设备类型和特性。所有版本的Android都支持传统存储设备,包括便携式(portable)和模拟(emulated)存储两种。便携式存储可以由物理介质提供,如SD卡或USB,用于临时数据传输/文件存储。物理媒体可能在较长时间内与设备保持联系,但不与设备固定在一起,可能被随时移除。自Android 1.0 以来,SD卡就已经成为便携式存储了;A...原创 2018-02-28 17:16:41 · 346 阅读 · 0 评论 -
聊一聊 android properties
文章目录1 Property contexts1.1 plat_property_contexts1.2 nonplat_property_contexts2 property的访问约束2.1 非system分区的访问约束限制2.2 system分区的访问约束限制3 Property Set Permission3.1 开始基于SELinuxpolicy3.2 对于APK set system p...原创 2019-04-12 21:17:07 · 6238 阅读 · 0 评论