参考链接:http://www.2cto.com/kf/201405/299974.html
一个最一般的apk包(不是系统app,没有共享lib,不是装在sd上或是forward-lock的app)装完后内容会体现在这么几个目录:
/data/app // apk包
/data/app-lib// native lib
/data/data //数据目录,其中的lib目录指向上面的/data/app-lib目录
/data/dalvik-cache/data@[email protected]@classes.dex //优化或编译后的Java bytecode
Android启动时会把已有的app安装一遍,过程主要分三部分:读取安装信息,扫描安装,写回安装信息。读取和写回主要是针对于一坨安装信息文件。这些信息保证了启动后app与上一次的一致。关键步是扫描指定目录下的apk并安装。Android中apk主要分布在以下几个目录,意味着启动时要扫描的主要也是这几个目录:
系统核心应用:/system/priv-app
系统app:/system/app
非系统app:/data/app(安装于手机存储的一般app)或/mnt/asec//pkg.apk(sdcard或forward-locked)
受DRM保护app:/data/app-private
vendor-specific的app: /vendor/app
资源型app:/system/framework