最近在手机系统应用程序Setting(设置)里面做系统备份和还原的功能,开始想到的思路是把应用程序和应用程序的数据读取出来保存到sd卡,也就是操作/data/app或者data/data里面相关的内容,但是后来发现操作/data/app 需要system权限,而要操作/data/data是需要root 权限。由于setting是系统应用程序 自身带有system权限,所以只能操作/data/app文件。于是想到在应用中如何获取root权限,在网上搜到有在应用程序中如何获得root权限的相关文章,http://www.cnblogs.com/xiaoxiaoboke/archive/2012/02/13/2349711.html 但是感觉不适用,实现方式大概是通过写sh脚本进行系统读写设置,用服务关联脚本,再到应用层调用服务,但是在sh脚本里面发现实现的功能不是复杂的功能而是一些设备挂载操作(本人底层了解甚少,自己愚见)。也学着操作了一遍不太适用,是自己对系统一些东西了解的少,想想不知道在framework java层能否做相关操作,不知道各位老大有没有做过这样的功能,我不知道现在的思路对不对,希望得到大家的帮助,不甚感激,小弟在此谢谢了!!!

解决方案 »

  1.   

    你的需求就是备份一个/data分区里面的data和app目录吗?要实现这个系统的备份和还原的功能,简单的修改Java的Framework层可能还解决不了问题。可以参考Android系统原来自带的,恢复出厂设置和OTA升级的功能,利用其在Recovery模式下面实现系统的备份和还原,那样就简单多了。
      

  2.   

    补充下,在进入Recovery模式下面,你就可以任意的对手机系统上面的data分区,system分区等里面的内容进行备份或者还原的操作。
      

  3.   

    回复meng_tianshi
    嗯 市场上有在recovery模式下 进行系统备份和还原的功能 在这里面实现的确是一个办法,只是不是很了解
    看来还是要深究一下,如果在上层进行操作 只能是要root权限才能操作data/data 小米有个备份应用 小米比较霸道 直接开放了root权限了..