Android官方命令深入分析之bmgr
作者:宋志辉
bmgr是一个能够跟Backup Manager进行交互的shell工具,要使用这个工具,Android设备API最小为8.它提供了备份和恢复操作的命令。所以你无需频繁的清除数据。这些命令通过adb shell进行訪问。
强制备份
正常情况下,你的应用在它的数据发生更改时,必须通过dataChanged()方法通知Backup Manager。Backup Manager接下来在将来的某个时间调用你的备份代理的onBackup()方法。然而,除了调用dataChanged()方法之外,你能够通过运行bmgr backup命令来发起一个备份请求。
adb shell bmgr backup <包名>
<包名>是你计划备份的应用的包名。当你运行这个备份命令时,你的应用的备份代理将会被调用通过onBackup()方法运行一系列的备份操作。可是不能确定什么时候会运行。然而,你能够通过bmgr run 命令强制马上运行备份操作:
adb shell bmgr run
这能够导致备份操作马上运行。触发全部的应用的备份代理,在上一次备份操作完毕后调用dataChanged()方法。
不论什么应用都能够通过bmgr backup进行手动计划备份。
强制恢复
不同于备份操作,恢复操作马上运行。Backup Manager如今提供了两种恢复操作。第一种是整个设备的数据进行备份,这通常发生在设备在第一次使用时。而且仅仅有系统才干运行。
另外一种恢复操作恢复单个应用的活跃数据设置,这就意味着,应用将禁止当前的数据而且用最后一次备份的数据进行替代。能够通过调用requeRestore()方法调用。Backup Manager会调用你的备份代理的onRestore()方法。
当你測试你的应用时,你能够通过bmgr restore命令来实现恢复操作:
adb shell bmgr restore <package>
是指要恢复的应用的报名。Backup Manager将会马上运行恢复操作,前提是,应用当前没有运行。
其它命令
清除数据
单个应用的数据能够依据需求从活跃数据组中擦除。
这在你开发备份代理时是很实用的,防止bugs导致写入坏的数据或者保存状态信息。
你能够通过bmgr wipe命令来擦除应用的数据。
adb shell bmgr wipe <package>
是指你希望擦除数据的应用的包名。下一次的备份操作应用将被视为之前从未进行过备份。
启用和禁止备份
能够通过bmgr enbled命令对Backup Manager进行启用。
adb shell bmgr enabled
这个命令对于你的应用从来没有调用备份代理来进行过备份来说。很实用。用来验证操作系统是否觉得须要运行相似操作。
你也能够通过例如以下命令禁用Backup Manager:
adb shell bmgr enable <boolean>
警告:当备份被禁止后,已经备份的数据会被清空。
相关文章
- [Android Pro] 关于BitmapFactory.decodeStream(is)方法无法正常解码为Bitmap对象的解决方法
- Android API之android.view.View.MeasureSpec
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
- Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路
- 可能是目前市面上唯一能够支持全平台的RTMP推流组件:Windows、Linux、Android、iOS、ARM
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
- Android插件化 热修复热门框架简析(转载)
- Android 官方资料
- Android GIS开发系列计划
- Rockchip官方开发板的Android固件下载地址汇总
- Android 的调试方法
- 《Android软件安全与逆向分析》— Android 书籍
- Android 用ADT编译器导出APK
- android 11.0 屏蔽所有电话来电功能
- 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )
- 【Android Gradle 插件】Gradle 构建生命周期 ② ( Gradle 类的添加构建生命周期监听器函数 | Gradle#addListener 函数 )
- 【Android Gradle 插件】build.gradle 中的 android 配置 ( 配置项 | compileSdkVersion 配置 | buildToolsVersion 配置 )
- 【Android 插件化】Hook 插件化框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements )
- android弹出时间选择框
- 理解Android Framework
- 最新Android ADT, SDK, SDK_tool等官方下载说明(及时更新)
- Android培训班(53)
- 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
- Android JNI读取本地文件和读取文件并且写入其他文件
- android开发,开发环境(Android Studio)安装