欢迎来到天天文库
浏览记录
ID:38586322
大小:4.13 MB
页数:64页
时间:2019-06-15
《《android教程底层》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android开发杂谈广州网易,闻波@wenbob了解系统了解程序优化与混淆Hacking内容提要了解系统系统组成与特点系统启动过程典型的手机硬件方案Android的体系结构五层体系结构解读ApplicationAndroid内置程序:Home、Contracts、Phone…Google闭源程序:GoogleClient……Vendor程序:HTCDream,OMS……FrameworkAndroidCoreCode(java)Vendorextensions……Nativelibraries功能函数库:C/C++库、音视频、S
2、QLite、OpenGL/ES、Webkit、FreeType、SSL……AndroidJNIAndroidDalvikVMUserspacedriversLinuxKernel精简版的IPC补丁:Binder更积极的电源管理:没有人宣布要用的部件,就关掉函数调用关系Android的重要特色HAL许多驱动程序以用户态的方式运行,依赖内核的HAL机制。CameraService、SurfaceFlinger、AudioFlinger等都位于用户态。Bionic精简版的C/C++运行库,类似于嵌入式系统中常用的uCLib。被重复发明的
3、轮子。为什么不用uCLib?商业用途的版权考虑,不想被LGPL限制。SurfaceFlinger表面渲染,目前是比较低效的C代码实现,有待芯片厂商来改善。Android的重要特色BrowserWebkit移植版,并不是Chrome,无Plugins接口内置Googlegears(无源代码)2.x提供了更多的HTML5特性,如本地存储等不支持文件上传4、ygote),启动速度更快了解系统系统组成与特点系统启动过程系统引导过程InitialProgramLoaderSecondProgramLoaderLinuxkernelinit相关的分区镜像文件hboot.img SPLradio.img 射频通讯相关的程序(GSM、CDMA…)boot.img Linuxkernelsystem.img Framework,系统程序,运行库…recovery.img 用于恢复/升级系统userdata.img 用户数据及程序安装的目录cach5、e.img...硬件初始化,类似BIOS系统引导程序,类似Grub操作系统内核第一个进程,脚本init.confLinux内核启动过程内核文件为boot.img,是gzip压缩包,分为两部分:ramdisk.img+system.img启动过程和普通桌面Linux类似:首先只读加载ramdisk.img。ramdisk中包括init程序以及配置文件/etc/init.rc。加载后执行init程序。init进程负责解析init.rc,完成整个操作系统的启动。init在处理过程中加载驱动,建立目录树和设备节点,$lsmodsec476、600-Live0xbf01b000modem_pm_driver27682-Live0xbf018000netmux_linkdriver103760[permanent],Live0xbf013000netmux5608819netmux_linkdriver,Live0xbf000000加载system分区,装载初始系统文件。然后加载userdata分区,装载初始用户数据。最后启动各种系统服务……1号进程init的处理过程:daemons假定共64MB内存,此时剩余40MB1号进程init的处理过程:services17、号进程init的处理过程:services1号进程init的处理过程:注册服务剩余系统内存:20MB启动后创建的进程:root用户kthreadd,ksoftirqd,events,khelper,suspend,kblockd,cqueue,kseriod,aio,rpciod,//基础服务mtdblockd,pdflush,kswapd,mountd,kmmcd,mmcqd,//磁盘与文件系统需要debuggerd,adbd,//调试与usb辅助功能installd,//软件安装服务qemud,//有这个,那么本手机必定虚拟的8、……反破解程序应该检测zygote//受精卵启动后创建的进程radiorild手机模块的后台服务com.android.phone手机功能的java层包装bluetoothdbus-daemon可怜的dbus只用来做蓝牙消息传递mediamedia
4、ygote),启动速度更快了解系统系统组成与特点系统启动过程系统引导过程InitialProgramLoaderSecondProgramLoaderLinuxkernelinit相关的分区镜像文件hboot.img SPLradio.img 射频通讯相关的程序(GSM、CDMA…)boot.img Linuxkernelsystem.img Framework,系统程序,运行库…recovery.img 用于恢复/升级系统userdata.img 用户数据及程序安装的目录cach
5、e.img...硬件初始化,类似BIOS系统引导程序,类似Grub操作系统内核第一个进程,脚本init.confLinux内核启动过程内核文件为boot.img,是gzip压缩包,分为两部分:ramdisk.img+system.img启动过程和普通桌面Linux类似:首先只读加载ramdisk.img。ramdisk中包括init程序以及配置文件/etc/init.rc。加载后执行init程序。init进程负责解析init.rc,完成整个操作系统的启动。init在处理过程中加载驱动,建立目录树和设备节点,$lsmodsec47
6、600-Live0xbf01b000modem_pm_driver27682-Live0xbf018000netmux_linkdriver103760[permanent],Live0xbf013000netmux5608819netmux_linkdriver,Live0xbf000000加载system分区,装载初始系统文件。然后加载userdata分区,装载初始用户数据。最后启动各种系统服务……1号进程init的处理过程:daemons假定共64MB内存,此时剩余40MB1号进程init的处理过程:services1
7、号进程init的处理过程:services1号进程init的处理过程:注册服务剩余系统内存:20MB启动后创建的进程:root用户kthreadd,ksoftirqd,events,khelper,suspend,kblockd,cqueue,kseriod,aio,rpciod,//基础服务mtdblockd,pdflush,kswapd,mountd,kmmcd,mmcqd,//磁盘与文件系统需要debuggerd,adbd,//调试与usb辅助功能installd,//软件安装服务qemud,//有这个,那么本手机必定虚拟的
8、……反破解程序应该检测zygote//受精卵启动后创建的进程radiorild手机模块的后台服务com.android.phone手机功能的java层包装bluetoothdbus-daemon可怜的dbus只用来做蓝牙消息传递mediamedia
此文档下载收益归作者所有