android手机上的应用搬家功能,具体的介绍和原理参考:
这里主要是作为一个补充,因为上面两篇文章虽然讲的挺好的,但是给出的例子不能直接运行,还是需要一些准备的。大概讲一下要点。
Pm.jar是android包管理命令pm的底层实现,源代码是一个java文件: Pm.java。注意这个版本不是最新的。关键就是在这个基础上添加应用搬家的功能。
编译Pm.jar需要使用一些android不公开的api,所以需要将android framework的源代码放在工程的src目录下。android / platformframeworksbase
修改Pm.java,增加应用搬家功能:move [-l] pakcageName, -l表示从SD卡移到内存,项目主页:androidMoveApp
执行pm.jar的示例,先将pm.jar放到/sdcard下,然后执行下面的命令:
shell "su -c 'export CLASSPATH=/sdcard/pm.jar && export LD_LIBRARY_PATH=/vendor/lib:/system/lib && exec app_process /system/bin com.lxkj.move_app/Pm move [-l] pakcageName'"
Done