android-framework
啊sir_
不积硅步无以至千里,不积小流无以成江海
展开
-
Android os体系架构
Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 架构详解 下面由下向上分析各层,介绍Andoid各个层次的软件的重点及其相关技术:: 第一、操作系统层(OS) 第二、各种库(Libraries)和Android 运行环境(RunTime) 第三原创 2017-11-07 17:25:18 · 1629 阅读 · 0 评论 -
android coreApp=true属性以及android4.2及以下多用户进程启动的说明
1. 关于coreApp=true的说明,在manifest中增加该属性,其实并不是代表该APP具有系统权限,而是把该类app归类为核心APP,核心app其实也是最小android framework系统。那么核心APP的作用是什么呢?在Android3.0之后,Android就增加了加密机制(可以加密机制是可选的,目前R70并没有打开),当系统开机时检测到系统加密,他就把核心APP全部启转载 2018-03-01 17:09:22 · 6608 阅读 · 0 评论 -
如何让自己的Android Service永不被系统kill--Android进程永存方法
先说点废话,年前在去佛吉亚好帮手面试当中遇到的其中一个问题就是,如果你的蓝牙或者canbus等等服务被kill掉了怎么处理的,这里涉及到一个service永存的概念,当时面试时脑子比较空白,但是回到工位之后这个问题其实是很简单的可以解决,记得当时是提及了一个用其它服务监控这些服务的做法,但是这其实都是不可靠的!因为监控服务也可能会被kill掉。下面会提及到。那么要想永远不被系统kill掉,那你只能是原创 2018-03-01 20:36:45 · 3025 阅读 · 0 评论 -
android编译命令及.mk文件浅析
一、引言先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。source setenv.shlunchmake -j12记得最初刚接触Android时,同事告诉我用上面的指令就可以编译Android源码,指令虽短但过几天就记不全或者忘记顺序,每次编译时还需要看看自己的云笔记,冰冷的指令总是难以让我记忆。后来我决定认真研究下这个指令的含义。知其然还需知其所以然,这样能更深层次的理解原创 2018-02-23 15:24:18 · 6442 阅读 · 0 评论 -
Android安全机制
本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案。1、Android系统架构 Android采用分层的系统架构,由下往上分别是linux内核层、硬件抽象层、系统运行时库层、应用程序框架层和应用程序层。 Android以Linux操作系统内核为基础,实现硬件设备驱动、进程和内存管理、网络协议栈、电源管转载 2018-03-30 17:49:22 · 468 阅读 · 0 评论 -
Android开发四大组件与进程启动的关系
一. 概述Android系统将进程做得很友好的封装,对于上层app开发者来说进程几乎是透明的. 了解Android的朋友,一定知道Android四大组件,但对于进程可能会相对较陌生. 一个进程里面可以跑多个app(通过share uid的方式), 一个app也可以跑在多个进程里(通过配置Android:process属性).再进一步...原创 2018-06-29 18:36:16 · 1016 阅读 · 0 评论 -
Android IPC机制详解
本文主要从以下几个方面来介绍IPC机制1、什么是IPC2、Binder机制原理3、AIDL实现一、什么是IPCIPC是Inter-Process-Communication的缩写,意思是进程间通信或者跨进程通信;说起进程间通信,我们应该首先来了解一下什么是进程。按照操作系统的描述,线程是CPU调度的最小单元,而进程一般指一个执行单元,在移...原创 2018-06-29 18:41:42 · 388 阅读 · 0 评论 -
Android IPC机制进程间通信方式
IPC的几个基础知识:序列化和Binder,本章将详细介绍各种跨进程同行方式。具体的方式有很多,比如可以通过在Intent中附加extras来传递信息,或者通过共享文件的方式来共享数据,还可以采用Binder的方式来跨进程通信,另外ContentProvider天生就是支持跨进程访问的,隐藏我们也可以采用它来进行IPC...原创 2018-07-03 10:10:14 · 288 阅读 · 0 评论 -
Android的IPC机制 —— BroadcastReceiver的使用
综述 在Android的四大组件中除了ContentProvider能够用于进程间的通信外,还有一个也能够用于进程间的通信,那就是BroadcastReceiver。BroadcastReceiver翻译成中文为广播接收器,既然作为广播接收器,那么必然就有Broadcast。在Android中,Broadcast...原创 2018-07-03 10:12:00 · 393 阅读 · 0 评论 -
Android init.rc文件详解
首先,个人为了很好的总结这方面的知识体系,以下绝大多数内容都是博主从网上那些大神多方面摘抄过来的。一、文件简介init.rc:Android在启动过程中读取的启动脚本文件,主要完成一些初级的初始化,在/system/core/init/init.c中解析。rc 经常被用作程序之启动脚本的文件名。它是“run commands”(运行命令)的缩写。init.xx.rc:与具体CPU相关的启动脚本,比如原创 2018-01-29 18:17:28 · 12031 阅读 · 2 评论 -
Android init.rc文件浅析
本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译.1 简述Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Services,Options.在init.rc文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格,那么得使用转义转载 2018-01-30 10:00:43 · 1836 阅读 · 1 评论 -
Android源代码目录结构分析及浅谈OS体系结构:
附上自己工作平台代码目录结构图:Android源代码结构:Android 2.1 |– Makefile (全局的Makefile) |– bionic (bionic C库,Bionic含义为仿生,这里面是一些基础的库的源代码) |– bootable (启动引导相关代码) |– build原创 2017-11-07 18:29:56 · 4410 阅读 · 0 评论 -
居于mtk芯片安卓车机系统具体流程
一:车机系统框架 MCU 功能 电源控制 Radio 控制(RDS) 按键检测(Panel/Remote/SW) 常见信号检查(倒车/大灯/刹车) CAN 模块通讯 ARM-MCU 通讯 进出碟控制 翻转马达系统 屏驱(此种情况倒车一般用 mcu 控制) AMR 功能 wifi 、BT、 gps、3/4G 显示、触摸 原创 2017-10-25 15:52:52 · 14319 阅读 · 0 评论 -
android系统休眠唤醒服务修改
此文档是结合MTK平台AC8321项目源码编写,结合8321平台源码阅读效果更佳。 一、GPS 休眠失败修改 frameworks\base\services\core\java\com\android\server\location\GpsLocationProvider.java private final BroadcastReceiver mBroadcastReceiver = ne原创 2017-10-25 16:20:53 · 2878 阅读 · 0 评论 -
Android不同音源类型的音量设置问题:
先上一张个人项目研发settings应用的一个功能,效果图如下:个人根据项目相关代码跟踪到framework层时@Override public int adjustVolumeLevel(int volumeType, int level) { if (null == mAudioManager) { return -1; }原创 2017-12-12 16:29:44 · 3826 阅读 · 0 评论 -
Android HAL的被调用流程
在Android系统中,对于硬件的操作,使用HAL Stub的方式来实现。HAL Stub的具体写法请参照Android中HAL如何向上层提供接口总结 。在我们写完HAL Stub之后,这个HAL Stub是如何被应用获取,如何被应用程序调用的呢?显然,由于HAL Stub本质上是一个.so,在调用之后,需要上层应用对其进行加载,然后才能调用。哪么,HAL Stub的加载器是如何实现对不同的Ha转载 2017-12-13 17:10:14 · 1182 阅读 · 0 评论 -
Android如何在应用层进行截屏及截屏源码分析(下)
首先,那么如果朋友你只是来找截屏接口使用在你的项目中的,那么你就不用继续往下看了。。。基于上班时间较忙,另外个人觉得还是将这个截屏流程分析和使用分开总结比较好,于是决定分两篇文章来讲解。好了,那么上一篇文章主要是从源码角度分析讲解了Android系统截屏流程,这篇文章将结合上一篇文章总结如何在应用层进行截屏,还没看过从源码角度分析讲解Android系统截屏流程的同学建议先移步Android如何在应用原创 2018-01-11 11:39:00 · 8253 阅读 · 0 评论 -
Android开发如何定制framework层服务
刚刚跨完年,新年第一篇文章,那么今天将对Android开发framework中间层的服务定制使用作个总结。首先我们先导入Android平台源码framework层的代码到开发工具eclipse中,代码工程目录如下: 当然了除了用eclipse之外也可以用其它软件进行开发使用,比如用Source Insight 3方式,效果图如下: 那么喜欢哪种就用哪种吧。我这边这部分代码是经过ATC公司原创 2018-01-02 17:12:24 · 26408 阅读 · 5 评论 -
Android如何在应用层进行截屏及截屏源码分析(上)
最近在看framework层代码时发现其中有一个是测试截屏操作的专门的包,于是潜意识的驱使下就研究了这方面的知识,今天作个总结吧!以及我们在写上层应用时如何做截屏操作的,那么我们先来看看截屏的源码分析,其实截屏操作就java这部分是放在了系统SystemUI那里,用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不原创 2018-01-10 15:46:31 · 3614 阅读 · 1 评论 -
Android的IPC机制 —— Messenger的使用及源码分析
综述 在前面几篇中我们详细的介绍了AIDL的使用及原理。在这里我们感觉到AIDL的在使用过程中还是比较复杂的,那么有没有一种简单的方法来实现进程间的通信呢?当然是有的,那就是利用Messenger。Messenger翻译为信使,从他的名字就可以看出这个Messenger就是作为传递消息用的。那么我们就来看一下这个...原创 2018-07-03 10:21:33 · 254 阅读 · 0 评论