请教android系统怎么进行系统备份和还原

请问android系统如何进行系统备份和还原
最近在手机系统应用程序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层能否做相关操作,不知道各位老大有没有做过这样的功能,我不知道现在的思路对不对,希望得到大家的帮助,不甚感激,小弟在此谢谢了!!!

------解决方案--------------------
你的需求就是备份一个/data分区里面的data和app目录吗?要实现这个系统的备份和还原的功能,简单的修改Java的Framework层可能还解决不了问题。可以参考Android系统原来自带的,恢复出厂设置和OTA升级的功能,利用其在Recovery模式下面实现系统的备份和还原,那样就简单多了。
------解决方案--------------------
补充下,在进入Recovery模式下面,你就可以任意的对手机系统上面的data分区,system分区等里面的内容进行备份或者还原的操作。
------解决方案--------------------
只是知道,还没实现