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>

警告:当备份被禁止后,已经备份的数据会被清空。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 06:16:42

Android官方命令深入分析之bmgr的相关文章

Android 官方命令深入分析之android

作者:宋志辉 android命令是一个非常重要的开发工具,它可以: 创建.删除和查看Android Virtual Devices(AVDs). 创建和更新android项目. 更新你的android SDK. 如果你在使用Android Studio或者eclipse,android命令已经被整合到IDE中.所以你无需直接在命令行运行.要想查看android命令的介绍,可以运行android –help命令. 语法 android [global 选项] action [action 选项]

Android官方命令深入分析之虚拟机

Android SDK包含了一个运行在计算机上的移动设备虚拟机.这个虚拟机可以允许你在没有物理设备的情况下开发和测试Android应用. 键盘命令 虚拟设备按键 对应键盘按键 Home HOME 菜单 F2 Back ESC 拨号 F3 挂断 F4 搜索 F5 电源按钮 F7 声音+ Ctrl+F5 声音- Ctrl+F6 相机 Ctrl+F3 切换横竖屏幕 Ctrl+F11 网络开关 F8 全屏模式 Alt+Enter 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android官方命令深入分析之Hierarchy Viewer

Hierarchy Viewer允许你调试和优化用户界面.它提供了一个层可视的方式来显示. 启动Hierarchy Viewer,如下: 在Android Studio中,选择Tools > Android Device Monitor. 进入SDK tools文件夹,在命令行输入 monitor 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android官方命令深入分析之AVD Manager

作者:宋志辉 AVD Manager提供了一个图形用户接口,通过它你可以创建和管理AVDs. 你可以通过以下方式运行AVD Manager: Eclipse:选择 Window > Android Virtual Device Manager,或者点击工具栏中的AVD Manager. Android Studio:选择Tools > Android > AVD Manager,或者点击工具栏中的AVD Manager. 其他IDE:找到SDK中的tools文件夹执行android av

Android官方命令深入分析之绘制9-patch

9-patch是一个所见即所得的编辑器,允许你创建可以自动更改大小适应屏幕的bitmap图像.被选中的部分可以水平或垂直的进行缩放. 下面是使用9-patch工具创建一个9-patch图像的实例,首先,你需要一个png文件. 找到sdk/tools目录,运行draw9patch来启动9-patch工具. 拖动png文件到9-patch工具中(或者File > Open 9-patch- 打开相应文件). 左边是你的绘制区域,在这里你可以绘制或更改黑色线条的大小,以控制拉伸区域等. 可以通过右键单

Android 官方命令介绍

原文:www.libgdx.cn Android SDK包含了多种工具来帮助你创建基于Android平台的移动应用.这些工具一般分成两类:SDK 工具和 platform 工具.SDK 工具是独立的,与Android的版本无关,Platform 工具是为了支持最新的Android平台的特性. SDK工具 SDK工具安装在Android的SDK文件夹中,并且经常的进行更新.在你开发Android应用时需要用到SDK工具.最重要的SDK工具包括Android SDK Manager,AVD Mana

Android 官方命令之Android Debug Bridge(adb)(未完待续)

作者:宋志辉 Android Debug Brideg(adb)是一个多用途的命令行工具.可以与Android虚拟机进行通信或连接真机.它同样提供了访问设备shell的高级命令行操作的权限.它是一个包含以下三部分的客户端-服务端程序: 一个客户端,运行在你的开发设备上.你可以通过adb命令来从shell中调用一个客户端.或者通过ADT插件和DDMS创建adb客户端. 一个服务端,作为一个后台进程运行在你的开发设备中.服务端负责客户端和虚拟机或设备中adb守护进程的通信. 一个守护进程,运行在虚拟

Android官方技术文档翻译——Gradle 插件用户指南(4)

近期赶项目,白天基本没时间,仅仅有晚上在家的时候才干看一看.昨天晚上仅仅翻译完了第四章,今天就仅仅发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide. 翻译不易.转载请注明CSDN博客上的出处: http://blog.csdn.net/maosidiaoxian/article/details/4195580

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]