非root用户设备上的adb backup命令会创建一个空的备份文件吗?


15

我最近尝试备份运行Lollipop 5.0.1的摩托罗拉Moto G2 XT1068手机,并在USB调试打开时通过USB将其连接后,然后运行adb backup命令完全备份我的设备,并且此问题完全备份了非根设备解决方案指导了我。但是,运行以下adb命令,

adb backup -apk -shared -all -system -f D:/backup.ab

在我的情况下不起作用。该命令指示我解锁设备并确认备份操作。但是,这样做仅在一秒钟的时间内便显示了Backup startedand Backup completedtoast消息。显然,backup.ab生成的文件也是一个空的0kb文件。

删除和更改参数也无济于事。


3
我在4.4.2设备上遇到了类似的问题,但是您的解决方案由于某种原因而无法正常工作……尽管以前曾经工作过。
jpaugh

1
@jpaugh尝试此答案android.stackexchange.com/q/83080/96277专门用于KitKat。
2015年

1
非常感激!
jpaugh 2015年

Answers:


10

解决方法是在“开发人员设置”下设置桌面备份密码。似乎备份过程中存在错误。如果未在开发人员选项设置下设置桌面备份密码,则会发生上述问题,并且您的备份最终将不完整(空备份文件)。但是,我找不到此错误报告的官方消息,该错误报告指出设置桌面备份密码可以解决adb备份问题。

根据XDA论坛[GUIDE]完整的电话备份(无解锁或无root)获得了此信息

注意:似乎存在一个错误,除非在“开发人员选项”下设置了桌面备份密码,否则备份和还原操作将失败。密码为空时将不起作用。

在我的桌面备份密码设置为

Settings > Developer Options > Desktop backup password

adb backup -apk -shared -all -f D:/backup.ab

现在,我可以成功运行上述adb备份命令了。请注意,我保留了该-system参数,因为它是默认参数,backup.ab现在文件已接近6GB。


1
您是否检查过错误?您的答案与这个问题不符(不过对奇特卡特来说)。
Firelord

@Firelord不,我找不到关于此问题的错误报告。但是我不记得之前加密过或设置了桌面备份密码。我在当前密码字段中输入了1234,幸运的是它被接受了。:)
幸运

2
拥有这个功能真是太好了,因此感谢您的分享-但这只是一个变通办法(不是“解决方案”)。有时,需要备份时不使用密码加密(例如,将.ab文件转换.tar为要调查的文件)。
伊齐

2
@Izzy但是,即使使用密码对文件进行了加密,Android Backup Extractor也可以将转换.ab.tar。当然,您必须在转换期间提供密码。:)
Firelord

可能会–仍然会使事情变得更复杂:)只是说,没有批评的意图!
伊齐

0

在棉花糖,设置(或使用)为我工作的备份密码,但我认为这些0字节的文件是由于错误。仅通过备份可以绕过系统加密一个很大的错误。

请注意,与未加密的设备不同,对加密设备的物理访问不会破坏设备的数据(前提是加密没有错误)。


3
错误一词来自XDA论坛帖子。这应该是一条评论,因为除了我的答案中已指定的内容外,它没有添加任何其他内容。
2015年

我认为重要的是,人们必须意识到,允许不使用密码即可备份加密设备会破坏加密的目的。只是说。
弗拉基米尔·G·伊万诺维奇
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.