我想问一下是否可以通过ADB备份和还原所有Android设置和应用程序。
我试过了:
adb backup -all
adb: unable to connect for backup
当所有其他命令都起作用时,它不起作用。
可以使用此bmgr吗?
我想问一下是否可以通过ADB备份和还原所有Android设置和应用程序。
我试过了:
adb backup -all
adb: unable to connect for backup
当所有其他命令都起作用时,它不起作用。
可以使用此bmgr吗?
Answers:
确保已启用调试并连接了设备。另外,请记住实际选择设备本身上的“备份我的数据”按钮(设备需要确认)。如果您在设备上看不到这样的屏幕,则很可能正在运行ICS之前版本(<4.0)的电话,不幸的是,它将没有此功能。
此外,bmgr
这也不是解决方案-它是一种工具,用于通过手动在应用程序中的备份代理上触发“ backup”和“ restore”方法,而不是使用设备和应用程序来测试使用备份API处理自己的备份的应用程序向/从开发机器复制数据。
这是我备份的命令
./adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir sav\/\1; .\/adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/.\/adb pull \/\1 sav\/\1/' | /bin/bash
有些文件中我的权限被拒绝-但是由于要备份此文件是为了使设备root,因此我无法获得更多的权限:(
-p
param以mkdir
避免一些错误消息,并./
在前面删除了./adb
):time adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir -p sav\/\1; adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/adb pull \/\1 sav\/\1/' | /bin/bash
如果我对您的理解正确,那么此链接可能就是您所需要的。总结一下:
1)运行adb devices
以确保已连接设备。
2)运行adb pull /data/app ./
以获取所有应用APK,并将其放入当前文件夹中。
a)或运行adb pull /system/sd/app ./
以在SD卡上获取应用程序。
3)设置位于不同的位置,因此请找出位置,然后使用相同的adb pull
命令进行抓取。
然后,该链接详细说明了如何基于Mac或Windows进行还原。
另外,看起来bmgr
您提到的命令也可以与一些简单的命令一起使用(adb shell bmgr backup <package>
备份和adb shell bmgr restore <package>
还原)。您还在寻找什么?
bmgr
命令是开发人员测试应用程序备份/还原的工具。它实际上不会从设备上复制任何数据,因此它不太可能有用。
pull: building file list... 0 files pulled. 0 files skipped.
adb pull
将无法在非root用户的设备上处理私人应用程序数据。而且bmgr
仅用于控制
问题可能是由于连接了多个设备/仿真器。
检查adb devices
如果显示的设备不止一个,那么它可能无法连接specialy to emulators
。
运行adb usb
它将重新启动其他设备,然后断开/重新连接USB电缆,现在运行
adb devices
它应该只显示一个设备。
现在做
adb backup -all
你应该很好:)
确保运行SDK更新,并特别选中Google USB驱动程序复选框并更新SDK。
在设备上启用USB调试并插入PC后,您将得到有关安装驱动程序的提示。即使其成功打开了设备管理器并找到了您的手机,也可以右键单击并更新驱动程序,然后将其指向SDK > Extras > Google USB
并让其更新驱动程序。
然后,您应该能够从设备中提取完整备份。
我有同样的问题,也是ICS之前的课程。解决该问题的方法是使用ls /
和awk(使用grep跳过链接)创建一个批处理文件,该文件将每个实际目录都拉到PC上的目录中。
adb: unable to open file ./backup.ab
执行时出现错误adb backup -all
。没有adb devices
找到你的Android?