问题:
每次我运行ADB备份时,都会在主屏幕底部附近显示Backup starting...
一条消息,提示:Backup finished
几秒钟后出现一条消息,尽管我使用的是17 GB的设备内存,并且创建了备份文件大小为0个字节。我没有收到错误信息,无任何反馈表明这东西是错误的,更别说什么是错的。它似乎可以工作,但是速度太快,并且备份文件为空。
过程:
我使用
adb devices
命令确认设备已被ADB识别,并收到以下输出:List of devices attached 8e1f368a device
我发出ADB备份命令(详细说明)。
我在命令提示符下收到以下消息:
Now unlock your device and confirm the backup operation.
...以及电话上的以下提示:
我在这里所做的操作没有任何区别(详细信息如下)。
我点击Back up my data按钮(右下角)。
手机返回主屏幕并显示
Backup starting...
消息,然后Backup finished
几秒钟后显示消息。将创建一个0字节的文件,命名为默认backup.ab或使用-f开关指定的名称。
ADB备份命令(在步骤2中使用):
我尝试了多种选项组合,范围从简单到
adb backup -all
对于像
adb backup -all -apk -s 8e1f368a -f 'C:\Data Files\PDA\Backups\ADB\GalaxyS4_20140919.ab'
-nosystem
在阅读了this和this之后,我还尝试添加了该开关,这表明试图在无根设备上包括系统备份可能会导致文件大小为0字节,并且必须使用此开关。没关系,该过程仍在几秒钟内完成,我仍然得到一个0字节的文件。
“完全备份”密码提示(步骤3):
我很确定我之前从未设置过备用密码。我以前从来没有机会以任何方式设置此密码或访问此设置。但是,我尝试了以下所有方法:
- 将两个密码都留空
- 将“当前备份密码”留空,然后在第二个框中输入新密码
- 输入当前的屏幕锁定PIN码以及我过去曾经使用过的所有PIN码作为“当前备份密码”。
- 输入我能想到的所有密码,我将在此设备上使用过任何密码
在所有情况下,其行为都与步骤5中所述完全相同。我没有收到任何错误或任何迹象表明任何错误或密码无效,也没有暗示它实际上是在使用当前密码还是该密码该字段应留空。(此答案以及我浏览过的其他几个支持论坛中的屏幕快照似乎暗示着,如果没有当前密码,则不会显示“当前备份密码”框,但这只是一个推断;没有明确说明是否实际上需要当前密码。)
我怀疑它提示输入的密码可能是在开发人员选项中设置的“台式机备份密码”:
我以前从未设置过该密码。如果我尝试设置一个,我会收到一条消息,说Failed to set backup password.
在搜索有关此错误的信息时,我至少遇到了另一种情况,即遇到此问题的某人说这阻止了他使用ADB备份,但是他并没有具体说明当他尝试使用ADB时会发生什么。备份。
大多数收到此消息的人从未设置过密码,然后才说解决方案是将当前密码保留为空白,但我首先尝试了此操作,但此方法无效。我发现另一个遇到此问题的人提出了问题,并且确定他之前没有设置密码。不幸的是,看起来他似乎没有解决方案甚至是解释。
不管ADB是在寻找“台式机备份密码”还是ADB加密密码都是分开的,这让我感到困惑,为什么ADB要求您输入以前的密码才能启动新的备份。我并不想挽回,改写,或以任何方式访问以前加密的数据,所以即使备份加密密码已经预先设置,我无法想象为什么有人会认为这是阻止你是个好主意如果您忘记了过去用来加密备份的密码,请备份您的设备。
附加信息:
型号: Samsung Galaxy S4 SCH-I545
内核版本: 3.4.0
操作系统版本: 4.4.2
Android SDK工具版本: 1.16
启用USB调试。
请注意,我之所以使用ADB备份,是为了在植根之前对手机进行完整备份,以确保安全*,因此我可以使用nandroid备份工具,例如Titanium备份。因此,任何涉及扎根手机的建议都将是Catch-22,而不是解决方案。不用说,恢复出厂设置也不是解决方案,因为它会破坏执行备份的全部目的。
手机已设置为与我公司的Exchange服务器同步,并且服务器强制执行一些策略。我曾以为该设备在我首次与公司帐户建立同步时已被加密,但是显然当前未加密。实际上,这就是使这一系列事件起作用的原因:我收到一条消息,告诉我需要加密设备才能继续连接到公司服务器。我想在加密之前进行nandroid备份,这需要生根,并且我想在生根之前使用ADB备份。
*是的,我知道Towelroot被认为是安全的,但我宁愿不要冒险,并且我想解决或至少了解此问题,以防将来出现相关问题。
adb backup
工作正常,但adb restore
总是失败)。原来这是一个权限问题(制造商将ROM弄乱了),因此adb restore
一旦将备份文件传输到设备上就无法读取备份文件。查找起来有些棘手,而且我不确定这里是否确实存在类似情况。但可能值得检查。