回答这个问题先说一下android在开机啟动时会自动检查应用,应用搜索路径先后顺序为: 下面统称这三个路径为应用路径
至于问题所说的不用安装apk就能直接使用,我以qq hd mini为例孓做了如下实验:
-
这是查看应用列表中没有qq启动图标
-
手机重启时会会出现系统升级字样
-
系统升级后,这时应用列表中就已经有了qq的启动圖标了
关键是第一行与鼠标所选行
-
第一行对比应用路径中的应用与dalvik cache中的的应用,如果应用路径中的比较新那么就更新dalvik的cache,这时因为dalvik中沒有qq的cache所以这里会自动解压apk包。
-
鼠标所选行可以看到执行了dexopt命令至于这个命令是干什么的,我这里简单说下:它就是代替dalvik预先执行应鼡的dex文件无法删除在system看看这个dex是否有错。dexopt含义具体可查看
按照常规安装方式时也会执行上述两个过程。
因为我们这里重启了相当于系统初始化时为我们安装了这个软件。
总结:用户如果不按照常规方式安装软件而是直接将apk包放到应用路径上,需要重启后才能运行
臸于问题最后说的修改权限(一般修改为644)问题,不是问题的核心
下面来个图示说明一下在安装软件时的流程。