- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 Android PackageManager Service详解(5.1源码)(四)
2.4 APP执行代码 APP运行时可执行的代码,主要有三部分: 1) 虚拟机初始化时加载的系统jar包,主要包含framework.jar和libcore.jar,分别对应android framework代码和jdk代码 2) APP自身程序代码,也就是打包入APK的dex文件 3) APP程序运行需要额外加载的library,对应manifest里配置的uses-library
2016-09-02 11:27:35 1587
原创 Android PackageManager Service详解(5.1源码)(三)
2:PackageManagerService Android既然基于linux,那我们能不能将c/c++代码交叉编译成可执行文件然后放到目标机器上跑呢?当然可以,不过前提你得有执行权限,事实上,android有一部分后台服务是纯linux程序(不需要davik虚拟机资源),比如service manager和media server等。 Android应用没有权限启动linux程序,同样的也
2016-09-02 11:24:54 2610
原创 Android PackageManager Service详解(5.1源码)(二)
1.2.3 APK数据读取和校验 之前说过,APK其实就是一个ZIP格式的压缩包,由于读取APK数据时要做完整性验证和签名数据的提取,android修改了java标准SDK中的JarFile,JarEntry等文件的实现。 下面是android第一次读取APK内数据文件的交互图: 介绍相关类以及成员变量 1) JarFile,这个类大家都很熟悉,它内部跟校验相关的有如下两个变量
2016-09-02 11:20:54 960
原创 Android PackageManager Service详解 (5.1源码) (一)
android基于linux,所以当设备上电后,初期的启动流程跟linux系统并无二致,uboot引导,接着载入kernel代码,加载各种驱动,结束后,启动第一个用户级进程init,init接着解析init.rc后,按照配置启动各种linux后台进程。 整个linux系统底层已经Ready后,接着要干嘛,当然是启动android引导进程,装载android运行环境所需的代码和资源。
2016-09-02 11:14:31 1677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人