1 / 14
文档名称:

android教程(底层).doc

格式:doc   大小:43KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

android教程(底层).doc

上传人:zbfc1172 2019/8/1 文件大小:43 KB

下载得到文件列表

android教程(底层).doc

相关文档

文档介绍

文档介绍:本文由zkgg133贡献ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。Android开发杂谈开发杂谈广州网易,闻波***@wenbob内容提要了解系统?了解程序?优化与混淆?Hacking了解系统系统组成与特点?系统启动过程典型的手机硬件方案Android的体系结构的体系结构五层体系结构解读ApplicationAndroid内置程序:Home、Contracts、Phone…内置程序:内置程序、、Google闭源程序:GoogleClient……闭源程序:闭源程序Vendor程序:HTCDream,OMS……程序:程序,FrameworkAndroidCoreCode(java)()Vendorextensions……Nativelibraries功能函数库:功能函数库:C/C++库、音视频、SQLite、OpenGL/ES、库音视频、、、Webkit、FreeType、SSL……、、AndroidJNIAndroidDalvikVMUserspacedrivers?LinuxKernel精简版的IPC补丁:Binder补丁:精简版的补丁更积极的电源管理:没有人宣布要用的部件,更积极的电源管理:没有人宣布要用的部件,就关掉函数调用关系Android的重要特色的重要特色?HAL许多驱动程序以用户态的方式运行,依赖内核的机制。许多驱动程序以用户态的方式运行,依赖内核的HAL机制。机制CameraService、SurfaceFlinger、AudioFlinger等都位于用户态。等都位于用户态。、、等都位于用户态Bionic精简版的C/C++运行库,类似于嵌入式系统中常用的uCLib。运行库,类似于嵌入式系统中常用的精简版的运行库。被重复发明的轮子。为什么不用uCLib?商业用途的版权考虑,不想被重复发明的轮子。为什么不用?商业用途的版权考虑,限制。被LGPL限制。限制SurfaceFlinger表面渲染,目前是比较低效的代码实现有待芯片厂商来改善。代码实现,表面渲染,目前是比较低效的C代码实现,有待芯片厂商来改善。Android的重要特色的重要特色?BrowserWebkit移植版,并不是Chrome,无Plugins接口移植版,并不是移植版,接口内置Googlegears(无源代码内置(无源代码),如本地存储等特性,提供了更多的特性不支持文件上传/frameworks/base/cmds/app_process/(受精卵。运行后受精卵)。创建的进程被称为受精卵创建socket:/dev/socket/zygote,侦听和处理运行字节码创建:,:servicezygote/system/bin/app_process-Xzygote/system/bin--zygote--startsystem-serversocketzygotestream666onrestartwrite/sys/android_power/request_statewakeonrestartwrite/sys/power/stateoninit设置了参数“--zygote”,进入服务模式。具体实现在设置了参数“设置了参数,进入服务模式。.,启动UNIXdomainsocket服务,在完成了虚拟机的初始化后,启动服务,在完成了虚拟机的初始化后服务循环接受命令,提供创建虚拟机的服务。循环接受命令,提供创建虚拟机的服务。voidrun(){intloopCount=;while(true){if(loopCount<=0){();loopCount=;}else{loopCount--;}if(runOnce()){break;}}}之后,之后,当需要运行manifest文件中的文件中的,,<receiver>和中的类时,就中的类时,和中的类时通过socket向zygote发送启动命令。发送启动命令。会通过向发送启动命令进程的执行主要有两种情况:进程的执行主要有两种情况:receiver收到特定的响应动作后,自动运行(例如开机自动运行的收到特定的响应动作后