您的位置:首页 > 移动开发 > Android开发

Android ROM移植相关/内核学习

2017-06-29 15:46 330 查看
> android rom
android rom移植知识普及- http://blog.csdn.net/innost/article/details/7623951 Android源码下载以及编译自己的ROM- http://blog.csdn.net/innost/article/details/6885968
指MIUI是基于cm(一种流行的安卓ROM)进行二次开发的(也就是优化,添加新功能,调整等等吧)。其实国内各大ROM厂商基本都是基于cm进行开发自家的ROM的,如MIUI(基于cm7),锤子os(基于cm11),一加的氧气os氢气os(均基于cm11)……不过MIUI也只是最初的版本基于cm开发,现在MIUI身上cm的影子是越来越淡了。

  Android就是一个小型微缩化的Linux操作系统+通讯模块。

  安卓手机的基本形态就是Linux+通讯模块组成的智能手机;Linux负责操作以及使用;通讯则是通过通讯模块通过radio与手机的交流。
>升级监控应用打系统签名
首先,在应用程序manifest.xml文件根节点中加入属性:android:sharedUserId="android.uid.system"。
对apk进行系统签名,需要用到如下几个文件:platform.x509.pem、platform.pk8, 在Android系统源码的build/target/product/security/路径;signapk.jar,在系统源码的out/host/linux-x86/framework目录。

签名的命令如下:
java -jar signapk.jar platform.x509.pem platform.pk8 [source apk] [signed apk]

比如:
java -jar signapk.jar platform.x509.pem platform.pk8 otaservice-1.0.0.apk otaservice.apk

---------------------------------------------------------
> Android内核
Android内核学习笔记- http://blog.csdn.net/imyfriend/article/details/9946821
0、Android系统启动《Android系统启动流程 -- bootloader》《The Android boot process from power on》《Android 启动过程介绍》《Android培训班(86)内核运行之前的引导程序》 这是一系列文章《Android 分区挂载
1、init《深入理解android 卷1》 第3章 深入理解init《Android框架揭秘》第3章 init进程
Android的init过程详解(一)》《Android的init过程(二):初始化语言(init.rc)解析》《Android系统初始化开始位置及流程分析》《Android的初始化语言脚本init.rc解析》《Android Init进程源码分析》 init.rc解析过程描述详细,图文并茂。《Android Init进程分析》《Android情景分析之详解init进程(以启动zygote为例)
2、binder《Android框架揭秘》第六章 -- 第十章 以生动的形式讲述了binder,其中也大量的插图,但是不够详细。值得参考。《Android系统源代码情景分析》第五章 描叙详细,但是不够生动。值得参考。第六章的6.5小结描述BINDER_TYPE_FD。《Android_IPC机制与Binder框架》 高焕堂著,形象的描述了从Java层到C++层的binder,偏重应用的实现。《Android Binder通信》《ServiceManager 进程启动源码分析》《图解Android - Binder 和 Service》 描述别树一帜,形象生动,强烈推荐。《Android Binder线程》 重点描述了binder线程的创建《本地Binder框架通信原理》《Binder 机制详解—Binder 系统架构》《浅析android中getStrongProxyForHandle函数动态申请索引对应的内存空间》《红茶一杯话Binder(ServiceManager篇)
3、Ashmem(Anonymous Shared Memory) 匿名内存共享《Android系统源代码情景分析》第六章 描叙详细。
《Android技术内幕》第二章 2.3.2小结 描述的比较简单,但是对于《Android系统源代码情景分析》第六章的描述可以起到补充的作用。《3.2.1 匿名共享内存(1)》 《Android安全机制解析与应用实践》第3章《3.2.1 匿名共享内存(2)》《3.2.1 匿名共享内存(3)》《Android Ashmem相关介绍
4、activity《Android系统源代码情景分析》第七章 activity启动过程描叙详细。
《Android的设计与实现》 package manager篇(第8~9章)主要讲解了package manager的机制与实现,以及apk的安装方法与过程;activity manager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。
《Android内核剖析》第十章 AMS内部原理《解开Android应用程序组件Activity的”singleTask”之谜》《Activity启动分析》《android Application Component研究之Activity(一)》比较详细的描述了“task管理”,即startActivityUncheckedLocked函数(主要是处理activity的launchMode和intent的flag)《android Application Component研究之Activity(二)》《android:clearTaskOnLaunch的用法》《Android 笔记之 clearTaskOnLaunch&finishOnTaskLaunch》《FLAG_ACTIVITY_RESET_TASK_IF_NEEDED》《android:clearTaskOnLaunch》《Android开发之旅:活动与任务》《Activity启动创建 (AcitivtyManageService,ActivityThread,Activity)》《深入理解Activity启动流程
5、service《Android系统源代码情景分析》第八章 service启动过程描叙详细。
android Application Component研究之Service》 有Forground属性的描述,有unbind过程的分析。《Android服务之Service(其一)》 有生命周期图,有例子。《Service》google官方描述。《Android 中的 Service 全面总结》《android如何保证service不被杀死
6、BroadcastReceiver《Android系统源代码情景分析》第九章 broadcast receiver启动过程描叙详细
android Application Component研究之BroadcastReceiver》有broadcast发送和分发过程的描述,有Protected Broadcast的讲解,有broadcast超时的过程分析。
7、ContentProvider《android Application Component研究之ContentProvider》《存储文件的ContentProvider
8、Mashup设计思想《Android开发精要》3.1 基于Mashup的应用设计
9、属性系统(property system)《android property system 》《属性系统代码分析
Android平台上使用属性系统(property system)》《Android Property System | Android属性系统
《深入理解android 卷1》 第3章 3.2.4 属性系统《Android框架揭秘》第3章 init进程 3.6 属性服务
Android 系统属性SystemProperty分析》《Android情景分析之属性服务》《SEAndroid安全机制对Android属性访问的保护分析》《Android 的系统属性(SystemProperties)分析》《Android 属性系统设计分析》 有__libc_prenit的分析
10、创建设备节点文件uevent《Android框架揭秘》第3章 init进程 3.4创建设备节点文件
基于android2.3.5系统:开天辟地Android启动机制[二]》《基于android2.3.5系统:开天辟地Android启动机制[三]》《android之init进程-uevent》《为Android应用程序读取/dev下设备而提权》《android ueventd 本地native部分源码分析》《Android设备节点的动态管理》《android提权漏洞CVE-2010-EASY修复》《Android uevent进程源码分析
11、zygote和system_server《深入理解android 卷1》 第4章 深入理解zygote《Android框架揭秘》第5章 Zygote
《Android系统源代码情景分析》第11章 Zygote和System进程的启动过程
《Android内核剖析》第15章 15.6 Framework资源
Zygote进程启动过程源代码分析》《SystemServer进程启动过程源码分析》《图解Android - Zygote, System Server 启动分析
12、进程管理和OOM《深入理解Android 卷2》 第6章 6.6 AMS中的进程管理 从部分代码角度讲解,不是很详细;《Android开发精要》第5章 组件生命周期解析 5.2 应用进程托管 -- 从上层角度描述为何要进程托管及托管的算法
《Android内核剖析》第十章 AMS内部原理 10.2 内存管理
Android 操作系统的内存回收机制》《android 2.3 应用管理机制分析》《Android内存管理机制详解》《Android内存阀值修改--内存回收机制配置》《Linux 2.6 中的页面回收与反向映射》《Android内存管理原理》《Android Low memory killer》《Android 系统内存分析》《Android开发:性能最佳实践-管理应用内存》《Android代码内存优化建议-OnTrimMemory优化
13、Android编译系统
《Android内核剖析》 第18章 Android编译系统
《Android核心原理与系统应用高效开发》 第2章 编译结构和各种构建
Android编译系统参考手册
14、WMS《Android 4.4(KitKat)窗口管理子系统 - 体系框架

15、电池《android 电池(一):锂电池基本原理篇》《android 电池(二):android关机充电流程、充电画面显示》《android 电池(三):android电池系统》《android电池(四):电池 电量计(MAX17040)驱动分析篇》《android电池(五):电池 充电IC(PM2301)驱动分析篇》《android 2.3 电量管理
16、input系统《android 物理按键》《InputMonitor笔记》《Android之input系统流程》《Android之Input子系统事件分发流程》《Android Input Framework(一)》《Android4.0 input事件输入流程详解(中间层到应用层)》《Android 4.2 Input 流程分析》《安卓4.1: input系统从frameworks到kernel 》《Android输入输出机制之来龙去脉之前生后世》《android发现之旅之输入事件如何在应用端传递》《Android触摸屏事件派发机制详解与源码分析一(View篇)
17、内存泄露《Android中native进程内存泄露的调试技巧
18、intent《Android开发之旅: Intents和Intent Filters(理论部分)
20、Dalvik《 Dalvik虚拟机进程和线程的创建过程分析》《Android开发工具ADB教程之三:Dalvik虚拟机之jdwp线程》《Android培训班(54)虚拟机的历史》 这是一个系列文章《Android 信号处理面面观 之 trace 文件含义》《Java中System.loadLibrary() 的执行过程
21、View《android文本布局引擎》《Android Text Layout 框架》《ViewGroup源码分析》《Android TextView显示中文不对齐问题》《Android 属性动画 源码解析 深入了解其内部实现》《Android应用程序UI硬件加速渲染的动画执行过程分析
22、AMS《ActivityManagerService分析一:AMS的启动
23、资源《framework资源文件》《如何在Android中写和使用一个自定义的java库》《如何为Android系统添加一个新的资源包》《浅谈Android的资源编译过程》《在android中增加公用资源包(类似framework-res.apk)》《Android APK应用安装原理(1)-解析AndroidManifest原理-PackageParser.parserPackage》《Android 资源类型 整理》《res与res-auto的区别》《Android中自定义属性的两种方法》《Android应用资源---样式资源类型(Style)》《Android应用资源---其他资源类型(More Types)(一)》《Android应用资源---其他资源类型(More Types)(二)》《Android应用资源---其他资源类型(More Types)(三)》《Android xml资源文件中@、@android:type、@*、?、@+含义和区别》《android三个特殊的资源目录 /res/xml /res/raw 和 /assets》《Android字符串进阶之三:字体属性及测量(FontMetrics)》《Styling Views on Android (Without Going Crazy)》《Android学习系列(39)--Android主题和样式之系统篇(上)》《Android学习系列(40)--Android主题和样式之系统篇(下)》《Android系统自带样式(android:theme)》《浅谈Android的资源编译过程》《Andriod中Style/Theme原理以及Activity界面文件选取过程浅析
24、android:persistent属性《android persistent属性研究》《Android: HowTo设置app不被系统kill掉》《android里面的进程回收机制》《说说Android应用的persistent属性
25、Handler、Looper和MessageQueue《Handler Looper MessageQueue 详解
26、debuggerd《Android debuggerd 源码分析
27、log《解读Android LOG机制的实现》《Android架构分析之LOG模块》《Android系统开发中LOG的输出与使用》《打开Android C文件中的LOG》《Android日志系统驱动程序Logger源代码分析》《Android应用程序框架层和系统运行库层日志系统源代码分析》《Android日志系统Logcat源代码简要分析》《android log 和logcat 分析(一)》《android log你不知道的小技巧》《android中BuildConfig.DEBUG的使用》《android 代码优化:关闭输出日志
28、DropBox《介绍 Android DropBoxManager Service
29、AppOpsManager《Android Kitkat的AppOps》《Android 4.3 隐藏功能 App Ops 分析》《AppOpsManager 一次简单应用
30、ADB《android adb adbd analyse》《android2.3-adb源码分析》《Android系统root破解原理分析
31、BackupManagerService《第十五篇 Android 的Backup服务管理机制与架构分析》《BackupManager的使用与解析》《关于BackupManagerService
32、UserManager 多用户机制《Android4.2多用户模式的结构与实现
33、DisplayManager 多屏幕机制《DisplayContent、StackBox、TaskStack笔记》《android 扩展屏幕 多屏显示》《第十七篇 --ANDROID DisplayManager 服务解析一》《android wifi display》《Android WifiDisplay分析一:相关Service的启动
34、Vold《Android vold 工作流程分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: