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

我也知道有关于这个主题已经有很多问题了,我检查了所有带有备用标签的问题-没有一个涵盖整个主题,只有一部分,尤其是Android新手(其他非超级用户也是如此)因此很难找出最佳方法。

所以我想对问题进行详细的规范回答:

不涉及根解决方案,如何实现备份

请不要给出简单的一线回答,例如“使用应用程序xyz [完全停止]”。如果提到一个应用程序(我怀疑这里是一个应用程序),请包括该应用程序涵盖哪些部分,以及有关如何填补其空白的想法。 (要明确地说:我知道首先要想到的是Titanium Backup,我自己使用,但这在这里并不适用:这个问题严格来说是针对非根设备的方法!就适用于广泛的设备而言,应该尽可能通用(即不应仅限于一个设备或制造商)。

我已经提到调查了这里所有标记为备份的问题。这些无疑会在此处提供详细的答案,因此很有帮助,因此我将列出与我的问题有关的最重要问题:完整的预root备份的Android手机?
Google备份什么信息?要备份吗?
在安装自定义ROM之前如何备份(和还原)手机?
在没有我的应用程序,设置,配置等的情况下备份我的Android。

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

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


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

所以,我再次要求接近不可能的情况:任何至少适用于Gingerbread(2.3.x)或更好的解决方案,甚至Froyo(2.2.x)-这样它们涵盖了大多数当前设备吗?这些解决方案可能涉及多种工具(尽管要尽量使它简单;请让您的母亲按照您的指示进行操作;)

并记住:没有根!


为了进一步激励高质量的答案(并希望避免使用低质量的答案),我在这里会很苛刻:因为我很少这样做,所以我会否决不符合上述标准的答案- -但另一方面,我将设立赏金以获取最佳答案(无法立即完成,但最早要在2天后完成)。

评论

您要备份哪个版本的android?因为在4.x版本中,有一个“ adb备份”解决方案可用于非根目录设备。

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

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

#1 楼

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

对于4.0+设备,存在一个称为“ adb备份”的解决方案。

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

这使得使用adb,因此您必须在计算机上安装Android软件开发工具包(SDK)(在某些Linux发行版上:仅软件包android-tools-adbandroid-tools-adbd)。恢复联系人,短信或日历信息

adb命令的选项为:

adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]



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


如何备份设备:

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


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




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



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

在Windows资源管理器中,导航到在SHIFT+RIGHT CLICK文件夹中安装了Android SDK和platform-tools的位置。


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

在Mac的终端中,您可以键入cd,然后从以下位置拖动文件夹platform-tools文件夹查找器到终端窗口,路径将被插入。点击,您将在正确的位置。毕竟您正在使用Linux。

从这里键入以下命令:

Windows:

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”文件的路径,如下面的屏幕快照所示。)



然后,系统会提示您输入密码(用于加密备份):

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

Windows:

adb restore backup08262012.ab


Linux和Mac

./adb restore backup08262012.ab


那么您将提示您输入密码以在设备上还原:
现在可以进行无耻的自我升级:

Droid Explorer(v0.8.8。 7+)将能够为4.0+设备处理此问题。尽管Droid Explorer当前针对Rooted设备进行了优化,但此功能也将适用于非Root设备。

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

评论


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

– Izzy♦
2012年8月27日8:34



是的,它可以处理数据。实际上,它仅在默认情况下才处理数据。唯一的缺点是它适用于4.x设备,并且它是adb的一个非常未经记录的功能。

–瑞安·康拉德(Ryan Conrad)
2012年8月27日上午11:41

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

– cjk
13年1月15日在16:47



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

–porg
13-10-14在0:47

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

– Izzy♦
15年7月14日在14:57



#2 楼

有一个名为简单ADB备份的应用程序。



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

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

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

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

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

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

请注意:这是一个当前仍在Beta中的新应用程序

评论


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

– Izzy♦
13年1月15日在16:58

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

–西蒙
2013年1月15日17:09



@Izzy刚刚遇到本文,我应该在lifehacker.com/上面的答案中编辑它吗?

–西蒙
13年8月19日在17:09

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

– Izzy♦
13年8月19日在18:21

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

– Izzy♦
16/12/13在7:29



#3 楼

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

评论


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

–瑞安·康拉德(Ryan Conrad)
2012年8月31日在21:56

@RyanConrad我同意。 :)至少,我的回答会清除误解..

–user3303
2012年8月31日在22:10

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

–瑞安·康拉德(Ryan Conrad)
2012年9月1日20:57



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

–盖
2014年5月16日20:42

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

–user3303
14年5月17日在11:31

#4 楼

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



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

就系统而言,这不是“完全备份”设置,但它确实还原了应用程序设置和数据。它不会备份您的内部存储(用户文件),因此您必须分别备份这些文件。

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

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

评论


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

–凤凰城
13 Mar 23 '13 at 4:31

当然:与Ryan的解决方案一样,它使用adb备份作为后端。

– Izzy♦
13年3月23日在9:15

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

–西蒙
2013年9月14日上午11:52

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

– Izzy♦
15年6月22日在13:02

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

– golimar
16年2月15日在17:06

#5 楼

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

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


还原了几件事,有些没有!我检查了某些功能的恢复:

未恢复:基本上所有的主要电话功能:联系人,短信,铃声和通知声音,激活的输入语言(= kbd布局),所有者名称(在第一个引导向导中设置的所有者名称是保留)

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


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


最大限度地提高Android隐私性


物理安全性,防止通过下载进行驱动(PDF),含义:


引导程序加载器已锁定,库存恢复,ADB已关闭
使用以下方法甚至更加安全:全磁盘加密


完全本地备份,无云备份(此线程的主题)在此处)


在Cyanogenmod上,情况有所不同:短信已完全恢复,但联系人和通话记录仍未恢复。即使使用adb通过adb root以root身份运行adb的备份和还原操作,我也将尝试使用具有root身份的自定义ROM(以获取一些额外的功能),锁定引导加载程序,自定义恢复,并且仅临时刷新恢复(理论上可以从具有flash_image的根设备进行恢复,但对我来说这也失败了),然后从中进行NANDROID备份(或adb备份+短信/呼叫专用备份解决方案)日志/联系人)以及自定义ROM更新。

#6 楼

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

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

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


确保已启用USB调试。
通过运行“ adb device”检查设备是否已连接。
现在执行“ adb backup -apk -shared -all -f C:\Users\UserName\backup.ab”。
解锁设备,提供加密密码和整个密码
设备将被备份。
要再次恢复,只需执行“ adb restore C:\Users\UserName\backup.ab”。希望这会有所帮助!

评论


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

– Izzy♦
13年11月23日19:41



#7 楼

我对其他(复杂的)答案感到有些惊讶。也许我误解了这个问题,所以请随意发表评论并投票。因此,问题是“我如何在无根设备上进行Nandroid备份”。
您不需要有根设备即可进行Nandroid备份。 Nandroid备份通常是通过自定义恢复(例如TWRP或Clockwordmod)完成的,该恢复不一定总是需要有根设备才能安装。例如,可以按照此处的说明使用ADB TWRP安装。可能可以暂时加载自定义恢复,从而保留库存恢复(以及您的保修;对于TWRP,可以在链接的教程的第4步中用fastboot flash recovery twrp*.img替换fastboot boot twrp*.img)。有些设备要求解锁引导加载程序以安装自定义恢复,而其他设备则不需要。请注意,解锁引导加载程序通常会将您的设备恢复出厂设置。


评论


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

– Jiggunjer
17年1月22日在10:15

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

– Celeletas
17年1月22日在11:23



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

– Jiggunjer
17年1月22日在11:52

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

– Celeletas
17年1月22日在13:02

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

– Izzy♦
17年6月29日在10:20

#8 楼

在Android世界中,“完全备份”似乎是一个非常繁重的术语。请允许我首先对其进行定义(用注释解释):完全备份是指可以将系统状态还原到进行备份时的任何内容。 〜Izzy(OP)

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


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

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


开发人员还原(2+)。
通常涉及使用Nandroid(大多数分区的扇区副本),并且可能闪烁自定义恢复。有点技术。可能会影响保修。
还原消费者(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)重新安装恢复。

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

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