如何将Viber消息历史记录传输到新手机


13

由于Viber当前不提供备份和还原功能,因此我求助于使用Titanium Backup将消息历史记录传输到新手机。

但是,还原后,启动viber时,消息历史记录会显示一秒钟,然后弹出激活屏幕以确认新设备-确认设备后(通过来电或短信),所有历史记录都将消失!

有任何想法吗?


我没有使用该应用程序,但我怀疑您能够看到该确认信息,因为还原应用程序数据后,该帐户并未明确恢复。必须分别在设备中还原帐户。
Firelord

您使用什么方法将Viber消息传输到新手机?我刚刚从Galaxy S6 edge切换到S7 Edge,所以希望将Viber聊天转移到我的新android。到目前为止,我已尝试使用以下说明使用某些应用程序将Viber聊天记录从旧版Android / iPhone转移到新的Android / iPhone:easyphonerecovery.com/…它起作用了,我可以将20条带有附件的Viber消息传输到我的S7 edge。现在,如果要转移所有聊天记录,它要我支付19美元。有没有免费的解决方案?否则,我将购买此软件。
Neal Sharma

Answers:


13

您无需root权限即可进行操作

要求:

然后做

sudo apt-get install openjdk-8-jre-headless
sudo apt-get install android-tools-adb android-tools-fastboot

现在,执行以下操作

  1. 连接旧手机,使用创建备份adb backup(禁用WiFi和数据并忘记旧手机)

    sudo adb backup com.viber.voip -f /home/user/Downloads/viberoldphone1.ab
    sudo java -jar abe.jar unpack /home/user/Downloads/viberoldphone1.ab /home/user/Downloads/viberoldphone1.tar
    
  2. 在新手机上安装Viber并激活Viber,连接新手机并创建备份 adb backup

    sudo adb backup com.viber.voip -f /home/user/Downloads/vibernewphone2.ab
    sudo java -jar abe.jar unpack /home/user/Downloads/vibernewphone2.ab /home/user/a/vibernewphone2.tar
    
  3. 在存档管理器中打开TAR存档(在我的Lubuntu LiveCD上找到GNOME 3.14.2的存档管理器)。将以下文件从viberoldphone1.tar数据库目录复制到vibernewphone2.tar

    • viber_data
    • viber_data-Journal
    • viber_messages
    • viber_messages-Journal
  4. 重新打包.ab并恢复数据到手机

    sudo java -jar abe.jar pack /home/user/a/vibernewphone2.tar /home/user/Downloads/vibernewok.ab
    sudo adb restore /home/user/Downloads/vibernewok.ab
    

奇迹般有效。我刚刚在Android 4.1和5.0上进行了测试。我adb最终在使用Lubuntu的Win7上遇到了问题。

您可以尝试使用SQLite编辑器编辑Viber DB文件。可能可以直接还原数据库文件,但是我没有时间进行测试

参考文献:


1
最简单直接的方法。没有任何root和权限的东西。

完美的作品!我在新的Viber安装的备份中发现了一些额外的文件,而在旧的Viber的备份中却没有(文件viber_data-shm和viber_data-wal)。我只是忽略了这些,按照说明进行了操作,并且效果很好。为什么每个命令都以“ sudo”为前缀?我在没有sudo的情况下运行了这些文件,只要您拥有该目录,就可以将备份保存到该目录中。
大卫

链接对于附加信息总是有用的。
Rahul Bali

首先非常感谢!经过一些测试并意识到“ tar”创建tar归档文件的方式之后,这些说明似乎对我不起作用,从而放弃了BackupManagerService,并给出了“ java.io.IOException:非法语义路径”和其他错误。为了避免这种情况,我遵循了forum.xda-developers.com/showthread.php?t=2011811上的说明,以不带斜杠和文件的确切顺序创建tar的方式(通过列出新手机备份中的文件) ,使用“ pax”作为存档器。
阿萨夫

奇迹般有效。只是不要忘记从旧手机复制/ viber / media文件,以获取丢失的照片/视频。我的碰巧在外部存储设备上,因此复制很容易。
Organic Addict

6

概述:

完全迁移Viber,您将必须从旧设备复制消息数据库,并将它们设置为新设备上Viber自己的消息数据库。此外,如果您想获取对话中的所有照片和视频,也必须迁移它们。

如何:

  1. 您需要将两个设备都植根
  2. 在两台设备上都安装一些根文件管理器(更名为“ RFM”),例如Total Commander或ES File Explorer。
  3. 在新设备上安装Viber并激活您的手机号码。您的留言板现在将为空。
  4. 可以备份您的用户照片和视频:
    • 在旧设备上,转到安装Viber用户数据文件的目录。在大多数情况下,它是您的主目录,例如/storage/sdcard/mnt/sdcard/storage/Emulated/0,等等。在大多数情况下,它位于您的内部存储器中,但是如果有人选择将Viber移至SD卡,则他/她必须转到/storage/extsd/mount/sdcard2或其他任何东西在他/她的特定系统中命名。
    • 在该目录Viber中将存在目录(其中带有“ media”目录,仅用于正确标识)。目录Viber包含所有下载的用户照片以及对话中的所有图像和视频。您发送和接收的视频越多,越多越好。您将需要备份该目录。
    • 如果您有外部SD插槽,请使用它将提到的目录复制到SD卡。如果没有,请使用所选RFM允许的任何其他方法-通过FTP将其发送到您的PC /新设备,通过电子邮件将其发送给自己,并将其共享给Google云端硬盘等。
  5. 将消息数据库从旧设备复制到新设备:
    • 在旧设备上,打开RFM并转到/data/data/com.viber.voip/databases/。在那里您将找到6个文件(分为3对对应的文件);您将需要所有这些文件,因此将它们全部复制到外部SD上,就像我之前提到的那样。
    • 好吧,我们完成了旧设备的安装。现在由您决定是否不污染我们的星球,不经意和费劲地将其扔到垃圾箱中
    • 在新设备上,转到相同的目录并在其中看到相同的文件。其中3个(没有 .journal扩展名)将具有权限rw-rw----(或660),其余3个rw-------(或600)。您可能会在文件名之后立即看到权限,或者必须获取文件属性-这取决于RFM。记住那些“权限图”
    • 选择任何当前文件,然后在所选RFM中获取其属性。您将以所有者名称(如Viber)或系统名称(如u0_a92)或用户ID(如1092)的形式看到它的UID / GID(所有者/用户和组ID )。记住此UID或将其写下来
    • 现在,您可以将所有6个“旧”文件从SD(或之前复制它们的其他地方)复制到/data/data/com.viber.voip/databases/新设备上的当前位置()。
  6. 让我们为消息数据库设置适当的权限:
    • 一些RFM(作为Total Commander)允许使用权限和UID / GID进行组操作。选择所有6个文件并获取它们的属性。如果您的RFM允许您现在设置“所有者/组”或“权限”,那么您真幸运。如果不是,则必须对每个文件重复执行下一步。
    • 现在,您将需要之前记住/写下的正确UID。如果您认为自己应该容易记住u0_a92,但现在不记得了,现在您对正确的UID感到怀疑,请不要惊慌。父目录(/data/data/com.viber.voip/databases/)具有相同的正确UID,因此请取消操作,向上一级并将其放入属性中。
    • 对于/data/data/com.viber.voip/databases目录中的所有6个文件,请获取它的属性,并在此设置您之前记得的正确UID(而不是在RFM复制期间设置的当前“ root”)。RFM可能会迫使您从现有的(长)UID列表中进行选择,而不是手动写下用户ID。
    • 对于相同的6个文件,设置与上一步相同的正确GID。
    • 在文件属性(每个文件集为3个文件)中,设置正确的权限,如您之前记得的那样(根据“权限映射”)。
  7. 让我们还原您的照片和视频:
    • 转到新设备上的Viber安装目录(通常/storage/sdcard如果有内部存储器)并复制该Viber目录,您在第4步中已对其进行了备份。
  8. 转到设置->应用程序-> Viber并强制停止它。
  9. 启动Viber,并享受带照片和视频的迁移后的对话,这将永远不会发生。

PS我真的不明白为什么Viber没有意愿执行此简单程序。


我尝试按照您对这封信的指示进行操作,但无法使该功能正常工作。我正在从4.0.4 Xperia Ray(似乎不支持adb备份选项)转移到5.1 Cubot X17,两者均已扎根。我尝试复制所有六个文件或仅复制四个文件(根据上述答案)。我还尝试将文件权限(使用ES)设置为覆盖前的默认权限以及您在重放中声明的权限,但所有操作都是徒劳的。重新启动viber后,它将仅不显示消息和组。如果我清除数据,则组会返回,但它们都是空的。任何和所有建议表示赞赏。
mkey

哦,亲爱的,这些都是面对脸的时刻之一。我尝试在SQLite浏览器中打开这些恢复的数据库,但在相应的数据库中似乎没有消息。这使我认为使用导出选项时,这些消息可能已被删除。或在复印时我弄坏了一些东西。
mkey

1

我在网上阅读的所有回复都没有对我有用。但是以下非常简单的方法可以很好地工作:

  1. 在目标设备上,安装并激活Viber
  2. 使用允许访问整个设备的文件浏览器(例如ES File Explorer),导航到/data/data/com.viber.voip/databases源设备上,然后将文件复制viber_messages到目标设备上的相同位置。

注意:我这样做如下:

  1. 在目标设备上启动ES File Explorer的FTP服务器
  2. 在源设备上使用ES File Explorer,使用FTP将所需文件从源设备复制到目标设备的下载文件夹中(/data/data/com.viber.voip/databases从源设备看不到)
  3. 在目标设备上使用ES File Explorer,将所需文件从下载文件夹复制到 /data/data/com.viber.voip/databases/
  4. 在目标设备上重新启动Viber

2
您应该指出,这需要同时将源设备和目标设备都植根。
伊齐

1

我在此问题上也遇到了很多问题,但最终我设法从其他手机导入了Viber消息。

脚步:

  1. 使用Titanium备份在旧手机上备份Viber
  2. 通过Titanium Backup还原Viber,但不启动它(不激活!)
  3. 使用Titanium Backup在新系统上通过Viber进行保存(“备份/还原”页面-Viber)
  4. 激活Viber(并释放所有消息)
  5. 返回Titanium备份并清除应用程序数据(Viber)
  6. 使用prev还原数据。保存的数据
  7. 运行Viber,您的消息就可以了!

0

我最近从Galaxy S6 Edge升级到了新的Galaxy S7 Edge,并且像OP一样,我不想失去以前的Viber对话。我在提到的名为Android Viber Transfer的付费第三方软件的帮助下,成功将所有Viber消息以及照片,视频和其他附件从旧的Android设备(S6边缘)转移到了新的Android设备(S7边缘)。在本指南中

它的价格为19美元,但我想它是将Viber消息从一部手机传输到另一部手机(Android到Android以及iPhone到iPhone)的唯一工具,因为在Google上,我发现有3-4个网站都在谈论此工具。免费版仅允许您传输20条消息,这是无用的。这些是将Viber消息从一台Android设备传输到另一台Android设备所需要遵循的步骤:

  • 在计算机上启动该应用,然后通过USB电缆将旧的Android设备连接到计算机。确保设备上已启用USB调试。

  • 在您的Android上点击“备份我的数据”,您将可以
    在该程序的UI上查看所有Viber聊天记录。

  • 右键单击您的Android,然后选择“备份消息”将
    Viber消息备份到计算机上的本地数据库。

  • 将SIM卡移到新的Android设备上,在设备上下载Viber应用程序并验证您的电话号码。

  • 最后,将新的Android设备连接到计算机,右键
    单击已创建的数据库,然后选择“还原
    消息”。

我在运行Android 6.0.1 Marshmallow的无根S7边缘上进行了尝试,它对我有用。我希望我的回答对希望将Viber消息从其旧设备传输到新设备的人们有所帮助,因为目前还没有本机/官方解决方案。


1
不幸的是,这在Android 7及更高版本上不再起作用。
TJJ
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.