android应用搬家的实现

android手机上的应用搬家功能,具体的介绍和原理参考:

系统目录及应用搬家的研究

应用搬家的实现

这里主要是作为一个补充,因为上面两篇文章虽然讲的挺好的,但是给出的例子不能直接运行,还是需要一些准备的。大概讲一下要点。

  1. Pm.jar是android包管理命令pm的底层实现,源代码是一个java文件: Pm.java。注意这个版本不是最新的。关键就是在这个基础上添加应用搬家的功能。

  2. 编译Pm.jar需要使用一些android不公开的api,所以需要将android framework的源代码放在工程的src目录下。android / platformframeworksbase

  3. 修改Pm.java,增加应用搬家功能:move [-l] pakcageName, -l表示从SD卡移到内存,项目主页:androidMoveApp

  4. 执行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'"
    
  5. Done

原文地址:https://www.cnblogs.com/zhengwenwei/p/3152212.html