安装apk软件相关源代码:\frameworks\base\core\java\android\app\ActivityManager.java(RunningAppProcessInfo)
通过DDMS也可以查看文件系统内容。
1.通过adb install xxx.apk后,默认安装在/data下 (预置的apk在/system下,默认获得System权限)
2.adb remount
3.adb shell
4.ls /data/app
找到原始的安装文件
com.chinamobile.contacts.im-1.apk
5.ls /data/data
可以找到安装好的文件(lib文件)
com.chinamobile.contacts.im
6.ls/dalvik-cache
虚拟机加载好的dex,此时没有运行程序,仅加载dalvik虚拟机
data@app@com.chinamobile.contacts.im-1.apk@classes.dex
7.ps
一个apk安装以后如果不卸载,对应的app id是不变的,每次运行都是如此。
即app_37这个37的序号是不变的,直到被卸载。
USER PID PPID VSIZE RSS WCHAN PC NAME
app_37 309 33 164304 29604 ffffffff afd0eb08 S com.chinamobile.contacts.im
卸载本apk和另外一个apk之后重新安装本apk,app_id会调整,按剩余的空位调整。
app_36 457 33 164296 28268 ffffffff afd0eb08 S com.chinamobile.contacts.im
可以看出app应用的父进程(PPID)都是33,即zygote
root 33 1 102056 19684 c009b74c afd0dc74 S zygote