如何完全备份非根设备?


302

我知道我要的是不可能的-因为真正的完整备份肯定需要root权限。但是周围仍然有很多人不想植根他们的设备-害怕使他们的保修失效或使他们的设备变砖,或者只是不让他们的设备得到任何生根方法的支持。

我也知道这个主题已经问了很多问题,我检查了所有带有备用标签的问题-没有一个涵盖整个主题,只有一部分,特别是Android新手(但其他非功能类) -用户)也将很难找出最佳方法。

因此,我想对该问题进行详细的规范回答

涉及根解决方案,如何实现尽可能接近完全备份的备份

请不要给简单的一行的答案,如“使用App XYZ [句号。” 如果提到一个应用程序(我怀疑这里是一个应用程序),请包括该应用程序涵盖哪些部分,以及有关如何填补其空白的想法。(并且要明确地说:我知道首先想到的是Titanium Backup,我自己使用,但这在这里并不适用:这个问题严格来说是针对非根设备的方法!)此外,答案就适用于多种设备而言,应尽可能通用(即,不应局限于一种设备或制造商)。

我已经提到在这里调查了所有标记为backup的问题。这些无疑会很有帮助,在此处提供答案的详细信息,因此我将列出与我的问题有关的最重要的问题:

所有这些都为我的问题提供了一些细节(请随时从中得到启发)-但我觉得仍然缺少细节。进行总结也是很有帮助的,例如,给出一个包括“最大可能”的完整描述的答案。

最后一个标准:虽然我认为基于云的解决方案是合法的,但我还是倾向于本地解决方案。如果您可以同时提供:更好。但是有些人非常重视隐私(我就是其中之一),因此不会将他们的数据信任某些云服务。


多亏了Ryan,我们现在有了一个可以对所有应用程序及其数据进行真正完整备份的解决方案-我不敢希望!唯一的缺点:他的解决方案仅适用于所有Android用户的不到10%;即那些设备至少在Android 4.x上运行的设备。

再说一次,我要问一个几乎不可能的问题:任何至少适用于Gingerbread(2.3.x)或更佳的Froyo(2.2.x)的解决方案-涵盖了当前大多数设备吗?这些解决方案可能涉及多种工具(不过,请尝试使其尽可能简单;请让您的母亲按照您的指示进行;)

并记住:没有根!


为了进一步激励高品质的答案(希望避免低质量的),我会狠狠地一个在这里:当我很少这样做,反对票的答案不配合的一端所提到的标准-但在另最后,我将设置赏金以获取最佳答案(无法立即完成,但最早要在2天后完成)。


4
您要备份哪个版本的android?因为在4.x版本中,存在“ adb备份”解决方案,该解决方案适用于非根目录设备。
瑞安·康拉德

1
由于我不是在寻找自己(我的设备已扎根,因此我可以使用NANDroid备份以及Titanium Backup),所以这是一个值得回答的方法-因为它适用于已经在其上使用4.x的每个人她的设备。它涵盖了多少?如果有的话,留下的空白又如何呢?还请指出,它需要计算机上安装的SDK(包括对经验不足的用户的优缺点)。
伊齐

1
我创建了一个问题-android.stackexchange.com/questions/33479/…,以跟进具有Android 2.3.x及以下版本的设备,原因是我注意到该解决方案适用于Android 4.X设备
Jack

Answers:


241

适用于4.0+设备的解决方案:

对于4.0或更高版本的设备,有一个称为“ adb备份”的解决方案。

注意:这仅适用于不允许备份的应用程序!使用这种方式创建备份时,只会忽略不允许备份的应用程序。

这会利用adb,因此您必须在计算机上安装Android软件开发工具包(SDK)(在某些Linux发行版中:仅软件包android-tools-adbandroid-tools-adbd)。

注意:此解决方案将不会备份和还原联系人,SMS或日历信息

adb命令的选项为:

adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]
  • -f:将保存在计算机上的* .ab文件的路径。此文件是压缩文件,其中包含设备中数据/应用程序的存档。
  • -apk | -noapk:指示是否应备份* .apk文件(默认为-noapk)
  • -obb | -noobb:启用/禁用与每个应用程序关联的任何已安装的APK扩展(又名.obb)文件的备份(默认为-noobb)
  • -shared | -noshared:启用/禁用设备共享存储/ SD卡内容的备份(默认为-noshared)
  • -all:指示您要备份整个系统。您可以使用软件包过滤器仅备份特定的软件包,或使用-all进行完整的系统备份。
  • -system | -nosystem:指示备份时是否包括所有系统应用程序和数据。(默认为-system)
  • <packages>:您可以在其中列出要备份的特定软件包。如果您只想备份特定的应用程序,请使用它们。如果使用-all,则无需指定软件包。

如何备份您的设备:

首先,您需要在Android设备上启用“ USB调试”:

  1. 转到“设置”中的“关于设备”(或“关于手机”或“关于平板电脑”)部分
  2. 在“内部版本号”行(通常是最后一行)上点击7次。之后,“开发人员选项”部分将出现在“设置”中

启用“开发人员选项”

  1. 转到“设置”中的“开发人员选项”部分
  2. 点击“ USB调试”复选框

启用“ USB调试”

其次,在PC上的命令提示符下,您将需要能够找到adb命令和备份文件。最简单的方法是adb从所在目录运行命令adb

在Windows资源管理器浏览到您安装了Android SDK和SHIFT+RIGHT CLICK的上platform-tools文件夹。 Shift +右键

这将打开一个命令提示符(您的窗口将与我的窗口不同)。

在Mac的终端中,您可以键入platform-tools文件cd夹,然后将其从finder 拖到终端窗口,路径将被插入。点击,您将在正确的位置。

在Linux中,希望您知道如何找到并cd到adb命令的父目录。毕竟,您正在使用Linux

在这里输入以下命令:

视窗:

adb backup -apk -shared -all -nosystem -f backup08262012.ab

Linux和Mac

./adb backup -apk -shared -all -nosystem -f backup08262012.ab
## Notice that -all doesn't mean ALL. See the big bold NOTE at the top of this answer.
# drop the `./` in the command if you are using `android-tools-adb` package

(如果要将备份存储在其他目录中,请包含“ .ab”文件的路径,如下面的屏幕快照所示。)

命令

然后,将在设备上提示您输入密码(此密码用于加密备份):
备用画面

要还原,它的工作方式几乎相同。

视窗:

adb restore backup08262012.ab

Linux和Mac

./adb restore backup08262012.ab

然后,将提示您输入密码以在设备上还原: 恢复画面


现在进行无耻的自我推广:

Droid Explorerv0.8.8.7 +)将能够为4.0+设备处理此问题。虽然Droid Explorer当前针对Rooted设备进行了优化,但此功能也将适用于非Root设备。

Droid Explorer将对设备进行完整备份并将其保存在中%USERPROFILE%\Android Backups\。在该文件夹中是一个为设备命名的文件夹,在该文件夹中是备份。

备份

双击Android备份文件将使您可以从备份文件还原设备。


4
顺便说一句:添加到您的解决方案中,直到今天,我在XDA新闻上找到了一篇文章:Ultimate Backup Tool,No Root Required。这个“最终备份工具”只是一个简单的.bat文件,它调用了您提到的ADB命令(Pastebin),因此可以作为Linux / Unix / Mac朋友创建相​​似的Shell脚本的“灵感”;)
Izzy

4
是的,它可以处理数据。实际上,它仅在默认情况下才处理数据。唯一的缺点是它适用于4.x设备,并且它是adb的一个几乎未记录的功能。
瑞安·康拉德

3
这仅适用于相同的设备还原或相同的型号吗?我必须更换手机(带有躲避性wifi的One X),并希望能够将所有内容恢复到新版本...
cjk 2013年

18
!谨防 !至少在Nexus 3上无根的Android 4.3上,adb还原远未完成!恢复了一些东西,没有恢复了!我检查了一些功能的恢复。不还原,基本上是所有主要的电话功能:联系人,短信,铃声和通知声音,激活的输入语言(= kbd布局),所有者名称(保留在第一次启动向导中设置的所有者名称正确还原:自定义词汇,墙纸,启动器图标位置,应用及其设置。总结:这是不合适的备份解决方案!可以在根电话上完成adb备份吗?
porg

4
@RyanConrad我想这个答案可能需要一些更新:应用程序可以选择退出adb_backupALLOW_BACKUPManifest文件中设置为“ no” )。如果“ root用户”想要解决此问题,可以使用“ Backup All Apps Xposed”模块,但是如果没有root用户,则无法解决。也许您还应该指出涵盖的内容(除了您已经提到的内容以外,请参见上面的porg的“!当心!”评论)。另外,也许可以整合评论中的其他提示,然后请求评论清除?
伊兹

32

有一个名为Simple ADB Backup的应用程序。

在此处输入图片说明

简单的ADB备份无需桌面即可从桌面备份您的Android手机。大多数Android备份工具都需要root用户,或者需要从手机上运行才能将数据保存到SD卡中。简单的ADB备份是不同的。该应用程序可从您的手机数据运行并将其备份到桌面,并且无需root即可完成所有操作。

要使用简单ADB备份,您需要在Android设备上启用USB调试模式(转到设置>开发人员,启用开发人员选项,然后启用USB调试),并在桌面上安装实用程序。就是这样:只需插入手机,在Windows或Linux系统上启动应用程序,然后选择备份选项即可。您可以选择备份整个设备,仅备份应用程序,备份包含或不包含系统应用程序的所有数据,或者选择备份单个应用程序。

该应用程序还允许您将备份的数据还原到设备。备份之前,系统会提示您生成一个密码,在开始备份之前,还必须在手机上键入该应用程序的密码,但此后,此过程将顺利进行。它非常简单,完全免费,不需要您先root。

虽然Titanium Backup是一个功能更强大的应用程序,但如果您愿意扎根(尤其是如果您想要Android的防弹备份系统),而MyBackup Pro则非常适合如果您要迁移到新手机而又不想桌面作为中间人,但是简单ADB备份是免费的,而且使用起来很容易,甚至Android初学者也可以轻松,快速地备份他们的重要数据。

在XDA Developer论坛上免费发布了Simple ADB Backup。点击下面的链接将其下载到此处。

http://forum.xda-developers.com/showthread.php?p=36499906

请注意:这是一个仍处于Beta版的新应用程序


1
还要注意,至少按照其名称,它可能至少需要Android 4.0- Ryan的解决方案也是如此。不过,我可以+1,因为这会使那些担心命令行的人更容易:)
Izzy

2
@Izzy:是的,是要澄清Windows / Linux / Android(4.0+)
Simon

@Izzy刚读完这篇文章,我应该把它编辑成lifehacker.com/
Simon,

我有点怀疑,但似乎这也可以进行完整备份,包括应用程序(?)及其数据。当然,去吧!只是不要忘记提一下,如果没有云帐户(avast自己的帐户或GDrive),该帐户将无法正常工作,这对我来说是排除的:)感谢您的提示!
伊兹

1
@Celeritas这不是讨论区(欢迎来到我们的聊天室)。但是即使在计算机上,您也需要在这种情况下格式化磁盘。我从未听说过在没有明确告知的情况下还原备份会小心地删除“多余文件”。那将使我非常疏远。更重要的是,ADB备份可以是完整备份,也可以只包含一个应用程序。在后一种情况下,在还原时删除其他所有内容甚至是荒谬的。
伊齐

24

从技术上讲,您无需根设备即可创建完整的Nandroid备份。您只需要通过USB刷新CWM(或任何支持Nandroid备份的恢复)。例如,您可以在下载模式之后使用Odin(Windows)将CWM刷新到Samsung设备,而无需触摸Android。因此,根本不涉及生根或root访问。


12
好吧,我认为真正的问题是,至少在我看来如何,那就是如何在不使保修失效的情况下进行完整备份。一般用户不希望甚至不知道如何扎根,更不用说刷新替代恢复了。
瑞安·康拉德

2
@RyanConrad我同意。:)至少,我的回答将清除误解..
安卓Quesito

2
@Izzy解锁不会获得root访问权。但这确实使保修无效。刷新自定义恢复不需要root用户访问权限,仅需要一个未锁定的引导程序即可。自定义恢复到位后,恢复确实具有根访问权限(但与操作系统意义上的具有根访问权限不同)。我认为尽管闪过自定义恢复是大多数用户的一大障碍。在许多情况下,更容易将设备植根然后刷新恢复。此外,通过闪动恢复功能对设备进行软连接的可能性也更大。
瑞安·康拉德

4
此解决方案的主要问题是对于引导加载程序锁定的设备,“ fastboot oem unlock”将擦除设备。

1
@lid稍等一下。.您先前的问题与讨论有关吗?看..我是说,你根本不需要扎根。您为什么要寻找可以扎根的漏洞?
Android Quesito

18

Koushik Dutta(又名Koush,又名ClockworkMod先生)已经出版了Helium Backup,即使不需要计算机和USB电缆,也应该可以使整个事情成为可能:

碳备份

Helium Backup应该能够将应用程序和数据备份到SD卡,连接的USB设备,Dropbox,Google云端硬盘或Box。

这不是一个“全备份”,只要它涉及到的系统设置,但它确实恢复应用程序设置和数据。它不会备份您的内部存储(用户文件),因此您必须分别备份这些文件。

如果您发现自己无法在还原列表中看到您的备份,则某些备份元数据可能会在翻译中丢失。备份本身仍然可以还原,但是您需要做一些额外的工作才能得到它们。

编辑:有关Helium用法的完整操作方法,请参阅如何使用Helium Android App无需根即可备份应用程序和数据(感谢提示,Simon!)。并且在抱怨任何事情之前,请确保您已使用Helium Wiki进行了检查(感谢golimar指出这一点!)。


1
不幸的是,与Ryan的解决方案一样,它需要Android 4.0。
凤凰城

当然:与Ryan的解决方案一样,它adb backup用作后端。
伊齐

1
@Izzy刚刚找到了一份关于Carbon的不错的文章:maketecheasier.com/another-way-to-back-up-android-without-root/…–
Simon

1
@Lucky对于非root用户的设备确实很遗憾,因为首先需要激活设备上的ADB组件(每次引导后),这需要提升的特权,因此如果没有root用户,则无法直接在设备上完成该操作仅通过亚行本身。
伊兹

1
建议在安装之前阅读:github.com/koush/support-wiki/wiki/Helium-Wiki
golimar

11

这个答案不是您亲爱的读者所希望的提示,而是我真实世界测试的结果:

在Nexus 3上,无论是在无根目录的Android 4.3下,还是在Cyanogenmod 10.1.3上以adb根目录运行时,adb备份都远未完成!


一些东西被还原,一些没有!我检查了一些功能的恢复:

不可恢复:基本上所有关键的电话功能:联系人,短信,铃声和通知声音,激活的输入语言(= kbd布局),所有者名称(保留在第一次启动向导中设置的所有者名称)

正确还原:自定义词汇表,墙纸,启动器图标位置,应用程序及其设置。


这些是我的要求,这使我进入了主题:

  1. 最大化Android隐私
  2. 防止下载驱动的物理安全性PDF),意味着:
    • 引导加载程序已锁定,库存恢复,ADB已关闭
    • 通过以下方式更加安全:全盘加密
  3. 完全本地备份,无云备份(此处是此线程的主题)

Cyanogenmod上,情况有所不同:SMS已完全恢复,但联系人和通话记录仍未恢复。即使当adb备份和还原运行时,adb也通过root运行adb root


因此,我将尝试使用具有根目录的自定义ROM(以获取一些其他功能),锁定的引导加载程序,自定义恢复,并且仅临时刷新恢复(理论上可以从具有flash_image的根目录设备中进行,但对我来说也失败了) ,然后从中进行NANDROID备份(或adb备份+用于sms / call-logs / contacts的特殊备份解决方案)以及自定义ROM更新。


8

我们可以在不使用任何应用程序或不扎根手机的情况下备份设备的信息。

Android包含一种内置方式来备份和还原手机或平板电脑的内容。您所需要的只是一台运行Android 4.0(Ice Cream Sandwich)或更高版本的计算机和设备。

转到adt-bundle-windows-x86\sdk\platform-tools文件夹并在此处打开命令promt。

  1. 确保已启用USB调试。

  2. 通过运行“ adb device” 检查设备是否已连接。

  3. 现在执行“ adb backup -apk -shared -all -f C:\Users\UserName\backup.ab”。

  4. 解锁您的设备,提供密码,您的整个设备将被备份。

  5. 要再次恢复,只需执行“ adb restore C:\Users\UserName\backup.ab”。

我写的屏幕截图为同一步一步的过程在这里。希望这可以帮助!


1
是。这就是Ryan的回答正确的开始:)但是,感谢您提供其他详细信息和逐步指南!
伊兹

7

我对其他(复杂的)答案感到有些惊讶。也许我误解了这个问题,所以请随意评论并投票。

  1. 根据定义,完整备份(包括ROM,应用程序和数据)称为Nandroid备份。因此,问题是在询问“我如何在无根设备上进行Nandroid备份”。
  2. 您不需要根设备即可进行Nandroid备份。Nandroid备份通常是通过自定义恢复(例如TWRP或Clockwordmod)完成的,该恢复不一定总是需要有根设备才能安装。例如,可以按照此处的说明使用ADB TWRP安装。它可能会暂时加载自定义恢复,从而保持原料回收(和你的保修;对于TWRP这是可以做到替换fastboot flash recovery twrp*.imgfastboot boot twrp*.img的链接教程的步骤4)。有些设备要求解锁引导加载程序以安装自定义恢复,而其他设备则不需要。请注意,解锁引导加载程序通常会将您的设备恢复出厂设置。

3
否。nandroid备份不是完整备份的定义,但是问题无法定义它是什么。您的方法需要解锁的引导加载程序以及刷新恢复的知识(因型号而异)。不扎根的人并不是真的想与他混在一起。
jiggunjer

@jiggunjer是什么让你说一个nandroid备份不是完全备份?此外,有些手机还配有未锁定的引导程序。与其他答案相比,我不会说这个很复杂。
Celeritas

1
完整备份将是eMMC的每个扇区,nandroid通常是扇区子集的映像,它们通常不包括引导加载程序和恢复本身。可以说,这样的完整备份通常不是必需的。对于95%的无根用户,您的答案确实很简单,但却不切实际。
jiggunjer

@jiggunjer好吧,也许您是对的,尽管我认为这是大多数人的想法,但从技术上讲,Nandroid与“完全备份”并不完全相同。我描述的方法不需要root。它确实需要临时刷新自定义恢复,但是考虑adb到从命令行使用其他答案(它本身需要下载大文件),我认为它并不复杂。
Celeritas

1
在技​​术人员看来,完整备份可能是整个硬件的复制,包括所有位的状态。但是,由于这是一个面向用户的网站,因此完整备份仅意味着:我可以从中还原并最终完全到达进行备份的状态(涵盖了所有设置,应用程序和数据)。此外:虽然苹果是水果,但水果不一定是苹果。是的,Nandroid备份通常是完整备份(尽管例如TWRP会跳过“共享存储”)–但这并不意味着完整备份始终是Nandroid备份;)
Izzy

7

在Android世界中,“完全备份”似乎是一个非常繁重的术语。请允许我首先定义它(解释一下注释):

完全备份是可以将您的系统状态还原到进行备份时的任何内容。〜伊兹(OP)

因此,显而易见的后续问题应该是:从什么状态恢复状态?

  • 场景0:您的手机已损坏。
  • 方案1:您的整个驱动器(eMMC)已被清空。
  • 方案2:您只能引导进入USB闪存模式,如fastboot / ODIN。
  • 方案3:您可以启动进入fastboot并恢复(自定义?)
  • 方案4:您的电话已重设为出厂模式。您具有正常的无根功能。
  • 方案5:您不小心删除了自己喜欢的猫壁纸图像。
  • 等等。

这些方案中的每一个都可以具有不同的备份解决方案。一个完整的备份必须能够解决所有这些问题。当然,我会针对坏掉的电话场景(0)进行一些讨论,但它指出了这个规范问题的定义有多么不明确。这反映了以下事实:许多人和公司倾向于过度简化备份,而忽略最重要的部分:恢复。

考虑到在Android社区中,隐含的砖(0和1)是纸镇。您将获得一部新手机。因此,让我们将其余的备份解决方案分为两类:

  1. 开发人员还原(2+)。
    通常涉及使用Nandroid(大多数分区的扇区副本),并可能重新刷新自定义恢复。有点技术。可能会影响保修。
  2. 消费者还原(4+)。
    通常会还原应用程序和数据,包括猫的照片。部分还原可以在不同的模型上进行。

两者都可以视为其用例的完整备份。让上下文确定是否有人要求完全备份,是否需要选项1或2。方案3和4之间有一些灰色区域(3.5?),例如,如果用户从/system分区中删除了文件,还原方法可能取决于失踪。

当心消费者还原

当前最受好评的答案adb backup是消费者还原,它可以还原应用程序和数据,但有一些警告:

  • 似乎省略了一些文件
  • 结果取决于ROM(例如,在某些Sony型号上不起作用,而在CyanogenMod和TouchWiz上省略了不同的项目)。

尽管最近在奥利奥(Oreo)进行了一些小的改进(XDA新闻),但我仍然无法确定它是否可以复制所有用户文件,例如从您的PC复制的照片和音乐。

对于开发者还原,您需要一个Nandroid。

如果没有生根或使用恢复功能,就无法获得完整的Nandroid。唯一的例外是SD卡的映像,从而为您提供了部分Nandroid。因此,您必须冒着安装映像或临时生根的风险,或者要等到OEM提供更好的恢复能力。

请记住使用重要信息命名备份,例如日期和分区。

您不必备份您不介意重新创建的内容

Nandroid通常不包括恢复,因为它们通常是从恢复中应用的,因此是多余的。但是,如果您的设备混乱了,恢复也没了,您可能会感到恐慌,以为您没有备份它,那么就什么也无法恢复。但是下载并使用USB闪存工具(例如fastboot)重新安装恢复程序通常很简单。

同样,如果将联系人存储在云中,则通常无需备份它们。恢复后只需再次同步即可。

请记住,完整备份取决于您要恢复的内容。我所描述的“消费者层面”还没有完美的解决方案。在人们不太担心拒绝保修的欧盟/亚洲国家中,没有理由不安装自定义恢复(如果存在)。

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.