- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Google 在 Android M 上引入了一项不错的新功能,允许您备份和恢复应用程序,甚至可以使用 ADB,如 this video 所示。 .
看来您所要做的就是使用adb shell bmgr
命令来备份和恢复应用程序,如下所示:
备份:
adb shell bmgr fullbackup PACKAGE_NAME
恢复应用程序:
adb shell bmgr restore PACKAGE_NAME
而且效果很好。
这些文档还处于新阶段,因此我找不到有关此新工具的一些问题的答案。
当输入adb shell bmgr
时,我得到了一些关于如何使用它的线索,但我找不到问题的答案。没有安装 Android M 的设备,而是使用模拟器,我想它的工作方式会有所不同。
以下是键入此命令时写入的内容:
usage: bmgr [backup|restore|list|transport|run] bmgr backup PACKAGE bmgr enable BOOL bmgr enabled bmgr list transports bmgr list sets bmgr transport WHICH bmgr restore TOKEN bmgr restore TOKEN PACKAGE... bmgr restore PACKAGE bmgr run bmgr wipe TRANSPORT PACKAGE bmgr fullbackup PACKAGE...
The 'backup' command schedules a backup pass for the named package. Note that the backup pass will effectively be a no-op if the package does not actually have changed data to store.
The 'enable' command enables or disables the entire backup mechanism. If the argument is 'true' it will be enabled, otherwise it will be disabled. When disabled, neither backup or restore operations will be performed.
The 'enabled' command reports the current enabled/disabled state of the backup mechanism.
The 'list transports' command reports the names of the backup transports currently available on the device. These names can be passed as arguments to the 'transport' and 'wipe' commands. The currently active transport is indicated with a '*' character.
The 'list sets' command reports the token and name of each restore set available to the device via the currently active transport.
The 'transport' command designates the named transport as the currently active one. This setting is persistent across reboots.
The 'restore' command when given just a restore token initiates a full-system restore operation from the currently active transport. It will deliver the restore set designated by the TOKEN argument to each application that had contributed data to that restore set.
The 'restore' command when given a token and one or more package names initiates a restore operation of just those given packages from the restore set designated by the TOKEN argument. It is effectively the same as the 'restore' operation supplying only a token, but applies a filter to the set of applications to be restored.
The 'restore' command when given just a package name intiates a restore of just that one package according to the restore set selection algorithm used by the RestoreSession.restorePackage() method.
The 'run' command causes any scheduled backup operation to be initiated immediately, without the usual waiting period for batching together data changes.
The 'wipe' command causes all backed-up data for the given package to be erased from the given transport's storage. The next backup operation that the given application performs will rewrite its entire data set. Transport names to use here are those reported by 'list transports'.
The 'fullbackup' command induces a full-data stream backup for one or more packages. The data is sent via the currently active transport.
我有几个问题:
假设我通过设备本身调用这些命令,它们会起作用吗?如果没有,它们可以在 root 设备上运行吗?或者至少备份和恢复当前应用程序(应用程序 X 备份和恢复本身)?
备份存储在哪里?是否可以将它们存储到自定义路径中?甚至可能是 PC 机之一?
是否可以将同一个应用程序备份到多个状态?例如,应用程序可以在登录时进行备份,并在配置某些设置时进行备份。这样,您就可以恢复每个备份。
他们在上面的描述中写到了“当前 Activity 的传输”。究竟是什么 ?可以定制吗?
是否可以在所有应用程序上运行备份/恢复?还是应该把所有应用程序的包都放上去?
“完整备份”似乎立即进行备份。 “run”属性有什么用?或者也许这都是因为我使用模拟器?
最佳答案
如果您还没有看过它们,这里是 reference documents了解与自动备份相关的新功能。备份功能存在于以前的版本中,并在本 guide 中进行了描述。 。我曾与他们合作开发 KitKat。快速浏览一下,M Preview 中的新功能如下:
您的大部分问题都集中在 adb shell bmgr
工具上。供开发人员测试。在正常的设备使用中,当设备空闲、充电并连接到 Wi-Fi 网络时,备份会每 24 小时自动完成一次。
Suppose I call those commands via the device itself, will they work?
既然备份是自动完成的,那真的有必要吗?
Where are the backups being stored? Is it possible to store them into a customized path ? Maybe even the one of the PC ?
存储到用户的 Google 云端硬盘帐户。号号号
They write in the above description about "currently active transport" . What is it exactly ? Can it be customized?
由 Google 提供。不这么认为。
Is it possible to run a backup/restore on all apps? Or should I put the packages of all apps?
默认情况下,所有应用程序都会备份。引用文档描述了如何限制所包含的内容。
It seems the "fullbackup" does the backup right away. What does the "run" attribute used for? Or maybe that's all because I use an emulator?
除了新的自动备份功能之外,应用程序还可以执行增量备份,如上述指南中所述。提供run
命令用于测试,以允许开发人员强制立即激活增量备份处理。
关于android - 关于Android M新的自动备份功能的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071926/
我正在构建一个 RCP 应用程序,其中每个季度都会更新功能/插件。因此,如果用户选择自动更新功能/插件,则会下载更新插件的新 jar,但旧插件仍在使用我不再使用的磁盘空间。 我厌倦了删除包含旧 jar
我如何从外部 Controller 功能中调用 Controller 内部的功能,例如电话间隙回调功能 这是 Controller 外部定义的功能 function onDeviceReady()
如果某个功能(例如 MediaSource)可用,我如何使用 Google Dart 检查。 new MediaSource() 抛出一个错误。如何以编程方式检查此类或功能是否存在?有任何想法吗?是否
我正在尝试运行 Azure Orchestrations,突然我开始从 statusQueryGetUri 收到错误: 协调器函数“UploadDocumentOrchestrator”失败:函数“U
我见过 iPhone 上的应用程序,如果在 3.0 上运行,将使用 3.0 功能/API,例如应用内电子邮件编辑器,如果在 2.x 上运行,则不使用这些功能,并退出应用程序以启动邮件相反。 这是怎么做
这是 DB 规范化理论中的一个概念: Third normal form is violated when a non-key field is a fact about another non-ke
如果我定义 #if SOMETHING #endif 而且我还没有在任何地方定义 SOMETHING。 #if 中的代码会编译吗? 最佳答案 当#if的参数表达式中使用的名称未定义为宏时(在所有其他宏
我刚刚澄清了 A* 路径查找应该如何在两条路径具有相等值的 [情况] 下运行,无论是在计算期间还是在结束时,如果有两条相等的短路径。 例如,我在我的起始节点,我可以扩展到两个可能的节点,但它们都具有相
Java有没有类似下面的东西 宏 一种遍历所有私有(private)字段的方法 类似于 smalltalk symbols 的东西——即用于快速比较静态字符串的东西? 请注意,我正在尝试为 black
这个程序应该将华氏度转换为摄氏度: #include int main() { float fahrenheit, celsius; int max, min, step;
当打开PC缓存功能后, 软件将采用先进先出的原则排队对示波器采集的每一帧数据, 进行帧缓存。 当发现屏幕中有感兴趣的波形掠过时, 鼠标点击软件的(暂停)按钮, 可以选择回看某一帧的波形
我有一个特殊的(虚拟)函数,我想在沙盒环境中使用它: disable.system.call eval(parse(text = 'model.frame("1 ~ 1")'), envir = e
使用新的 Service 实现,我是否必须为我的所有服务提供一个 Options 方法? 使用我的所有服务当前使用的旧 ServiceBase 方法,OPTIONS 返回 OK,但没有 Access-
我正在阅读 Fogus 的关于 Clojure 的喜悦的书,在并行编程章节中,我看到了一个函数定义,它肯定想说明一些重要的事情,但我不知道是什么。此外,我看不到这个函数有什么用 - 当我执行时,它什么
我有大量的 C 代码,大部分代码被注释掉和/或 #if 0。当我使用 % 键匹配 if-else 的左括号和右括号时,它也匹配注释掉的代码。 有没有办法或vim插件在匹配括号时不考虑注释掉或#if 0
我有这个功能: map(map(fn x =>[x])) [[],[1],[2,3,4]]; 产生: val it = [[],[[1]],[[2],[3],[4]]] 我不明白这个功能是如何工作的。
我使用 Visual Studio 代码创建了一个函数应用程序,然后发布了它。功能应用程序运行良好。我现在在功能门户中使用代码部署功能(KUDU)并跳过构建。下面是日志 9:55:46 AM
我有一个数据框df: userID Score Task_Alpha Task_Beta Task_Charlie Task_Delta 3108 -8.00 Easy Easy
我真的无法解决这个问题: 我有一个返回数据框的函数。但是,数据框仅打印在我的控制台中,尽管我希望将其存储在工作空间中。我怎样才能做到这一点? 样本数据: n <- 32640 t <- seq(3*p
有没有办法找出所有可能的激活器命令行选项? activator -help仅提供最低限度的可用选项/功能列表,但所有好的东西都隐藏起来,即使在 typesafe 网站在线文档中也不可用。 到目前为止,
我是一名优秀的程序员,十分优秀!