您当前的位置:首页 > 计算机 > 精彩资源

一种基于安卓adb拯救旧手机没法备份游戏存档的方法

时间:12-12来源:52pj作者:wwaaww点击数:

注意事项:

重要!重要!重要!重要!先别急着删游戏!重要!重要!重要!重要!先别急着删游戏!重要!重要!重要!重要!先别急着删游戏!测试迁移之后能用再删!有的游戏可能把存档就放在外置目录里直接可以拿,这个方法是拿不到的!数据无价!不排除有的游戏存档导出会失效(有设备验证之类的)

前情提要:

在我的华为nova3e(年轻不会买手机别骂)有一款曾经很喜欢的单机游戏数据想要迁移新机,混沌之戒2,3。然鹅3的存档就在Android/data里裸奔,2代却扔在data/data里,这让我很是难办。很多人可能第一想法是root之后访问data/data直接复制粘贴或者钛备份等,我就是。但是...华为等厂商给root上锁,我还得清空数据才能获取root权限。。。我青柠檬数据我还得用呢,然后就去找其他备份方法(众所周知hw旧手机备份只备份安装包,新的没买过不评价)看到有人在phigros音游备份存档时用过此法(adb backup)我就开始研究。一个下午我给搞好了。码字的时候还在等obb数据包的压缩包传送到新设备。

功能介绍:

利用安卓6.0之前的一项功能,adb backup指令进行老游戏存档无root导出,理论上所有机型均可使用,新手机旧游戏也可以,甚至某些比较新的游戏或者小众软件(例如个人开发或者二创类等),然后再进行数据迁移。可以迁移到另一台设备上,或者电脑端的安卓模拟器(测试了夜神模拟器比较方便,蓝叠不大会搞,有弄好的可以去评论区分享一下经验)举个例子:混沌之戒2,phigros,某单机黄油jsk系列,dokuro骷髅小王子,元气骑士,majesty(王权)几何构建,数独传奇,pythagorea,红警Java移植安卓中文按键版……

准备工具:

带数据旧手机,数据线,电脑,helium氦备份PC端安卓端(法一),ADB(下载网址如图,法二,看到那个加蓝的点击此处进行下载了吗)

具体步骤:

方法一:

1.在手机端和电脑端安装合适版本的helium氦备份(很方便)

2.打开手机的开发者模式(具体机型自行百度,很简单),并找到其中的USB调试打开

3.将手机和电脑用数据线连接起来,并且将通知栏里的USB连接模式换成PTP(图片模式)

4.打开PC端和移动端的氦备份,把手机上的各种继续点完直到PC端绿色对号!(如下图)手机端也没有任何窗口!(pc绿色对钩还有窗口说明pc和手机端氦备份版本不匹配,换一个下载试试,实在不行看法二,氦备份用的就是法二原理)



5.选择要备份的软件(注意一下有一栏里面的应用是backup disallowed右一,说明该应用禁止使用adb备份和恢复,而applications里面的就支持

6.点击右下角的backup按钮会弹出一个页面(如左1图),选第一个存储到本地会弹出第二个界面(左2图),点备份我的数据,有的机型可能是英文,自己翻译。

此后会有两种情况,一种是备份过程中一切正常,在填密码下方会有一行你备份程序的包名(左3图),且等待时间较长(也长不过半分钟,最短甚至半秒),最终弹框是左4图。那么恭喜你,备份已经完成啦(>v<).






另一种情况,是秒结束,弹出backup error的弹窗(左1),但是还会给到开始备份和备份成功字样(左1左2),这种情况是没成功,要想成功必先……此处受到某b站评论区路人评论帮助(左3),请打开你要备份的软件/游戏,只需要挂在后台,不需要进去某个界面,打开立马返回桌面也可以。如果是批量备份就都打开,我同时打开了15个一次性备份成功了反正。两种情况的结果都会是上面最后左4图的backup complete即为成功(先别删游戏!先别删游戏!先别删游戏!先别删游戏!先别删游戏!先别删游戏!先别删游戏!先别删游戏!先别删游戏!



7.存档位置以及格式:默认存储在内部存储下的carbon文件夹下,里面是以你保存的软件包名命名的文件夹,再里面就是一个xxx.abxxx.json文件就是被手机特殊处理过的/data/data下保存的存档文件了。该文件貌似可以解密为压缩包直接解压,但是我去github上照着试了,也转好了,但是压缩包提示损坏打不开。。。有意向去搜一下吧,或者评论区问我要链接(真的能发外链吗,不能吧,所以自己动动手百度一下吧,我都快累死了QAQ)跑题了,如果你是在本机上备份恢复继续使用,那么存档就放这,下次进氦备份再连接电脑就可以恢复了(下面细说)。但如果你是要迁移到别的手机上,那么你需要在另一台设备上安装上和你现在手机上相同版本和签名的游戏(直接把安装包传过去)或更高版本的。如果你需要传送到电脑或手机的安卓虚拟机内游玩请前往法二相关步骤。

备份恢复需要在你需要恢复的手机上

1.安装氦备份,相同或更高版本的游戏

2.将备份的文件夹(carbon)和里面的文件准备好.

3.连电脑,开发者模式,USB调试,ptp图片模式,pc端氦备份绿色对钩……

4.点backup旁边的restore balabala如图,点击internal storage,然后勾选需要恢复的数据,然后就大功告成了!(真不容易,ε=(´ο`*)))唉)

方法二:

  1. 下载好adb for windows(你是linux或者别的请自行学习吧,我没本事也没钱呜呜呜)
  2. 解压扔桌面上文件夹里
  3. 搜索cmd,右键打开文件位置,将cmd.exe复制粘贴到刚才放adb的地方,最终文件夹如图所示。
  4. 没找到cmd的…真的用过电脑吗?我真的有看到在别人评论区里要cmd的,还有没开后缀找不到带.exe的……这些恕我不想解答,好心人帮帮忙耐心解答一下吧,我看心情了。
  5. 创建一个存放存档的文件夹,复制下文件夹的路径(包括自己本身)例如:我在D根目录下创建了backup文件夹,则复制D:/backup/
  6. 打开手机的开发者模式(具体机型自行百度,很简单),并找到其中的USB调试打开
  7. 将手机和电脑用数据线连接起来选择MTP(文件传输)或PTP(图片传输),或者仅充电(开发者模式里如果有允许在仅充电模式下adb调试要打开该选项)
  8. 这里贴出我照着学来的教程,并把代码给你们列出来方便复制(长图不得不裁剪了,可以自行拉伸回去看原图和作者,此处作者也是搬得另一位作者的,但是界面整洁好截图)建议去下载附件观看

重要!先别急着删游戏!备完份了先去查看你的xxx.ab是否大小显示1KB(详情47B)这个大小的为无效存档!

adb devices //查看连接状况,判断一下准备条件做好了没
adb shell pm list package //列出所有软件包名,方便复制
adb backup -fxxx.xxx.xxx //备份此处红色指你要存放的位置D:/backup/和你备份名xxx.ab,如果是斗地主你可以起个ddz.ab,怎么好记怎么来。后面紫色是你软件的包名,可以用es文件浏览器或mt管理器等查看安装包信息,或者去Android/data或者Android/obb里找,也可以用adb shell pm list package列出所有自己查,但看不到图标哦,看单词分辨去吧。
adb restore D:/backup/XXX.ab //恢复此指令标红处即是你上一个指令备份的那个存档,不用加包名了

8.1使用adb backup -fxxx.xxx.xxx 备份,之后发现cmd中的warning,unlock什么的不用管,这是让你去手机上会有弹窗是否备份让你操作的,点击备份即可。备份过程中如果一切正常,在填密码下方会有一行你备份程序的包名(如com.cnvcs.ddz),且等待时间较长(也长不过半分钟,最短甚至半秒)

8.2重要!重要!重要!重要!先别急着删游戏!备完份了先去查看你的xxx.ab是否大小显示1KB(详情47B)47KB空存档如下图

正常情况如下图(虽然显示1KB但是比47B大才是有效的)这里解决办法为,删掉47KB的文件,在手机端打开你刚才备份的软件,回到cmd重新回到刚才那行代码处选中整行Ctrl+C,然后Ctrl+V,enter.你再次回到备份文件那里查看,没问题的话就没问题了(再次感谢b站评论区某位大佬一点通,翻遍了吾爱,贴吧,b站,csdn,百度都没能找到教这个的,评论图放在方法一里了)至此备份方法结束。

9.存档格式:xxx.ab文件就是被手机特殊处理过的/data/data下保存的存档文件了。该文件貌似可以解密为压缩包直接解压,但是我去github上照着试了,也转好了,但是压缩包提示损坏打不开。。。有意向去搜一下吧,或者评论区问我要链接(真的能发外链吗,不能吧,所以自己动动手百度一下吧,我都快累死了QAQ)

  1. 恢复到不同设备的方法通用步骤:
    一,在手机或虚拟机内安装相同版本或更高版本(保证签名一致)比如不同网站下载的破解版的游戏签名可能就是乱的,或者一个官方版一个盗版也不行,旧版安装上貌似也不行。
    二:打开手机或虚拟机设置里的开发者模式,再打开开发者模式里的USB调试,手机记得连线和换usb连接模式

恢复到原手机:连接原手机,做到通用的步骤后打开cmd,输入8.中讲到的Adb restore D:/backup/XXX.ab,cmd中的warning,unlock什么的不用管,这是让你去手机上会有弹窗是否恢复让你操作的,点击恢复即可。建议先去别的设备上尝试一下存档好不好用,免得将原先的好用存档覆盖后丢失存档!

恢复到另一台手机:连接新手机,做到通用的步骤后打开cmd,输入8.中讲到的Adb restore D:/backup/XXX.ab,cmd中的warning,unlock什么的不用管,这是让你去手机上会有弹窗是否恢复让你操作的,点击恢复即可。复制粘贴大法好OVO

恢复到电脑端安卓模拟器(夜神举例):创建一个虚拟机,做到通用步骤后,右键夜神模拟器桌面快捷方式,打开文件所在位置(你也可以自己找),把之前复制出来的cmd.exe直接拖进夜神模拟器安装目录里,目录下是有adb.exe等文件的,cmd可以直接运行。(其他模拟器请自己实验或找客服询问吧,蓝叠没搞明白)打开cmd,输入8.中讲到的Adb restore D:/backup/XXX.ab,cmd中的warning,unlock什么的不用管,这是让你去手机上会有弹窗是否恢复让你操作的,点击恢复即可。复制粘贴大法好 *2 OVO。当然还有一种方法见④

恢复到安卓端安卓模拟器(最难):我没能找到在手机上开cmd或者连电脑上穿透进虚拟机使用cmd的方法,但在这里我提供一个简单思路。有了②③两步,我们可以大胆考虑,将②中的手机换成一台root过的安卓手机,③中开了root的虚拟机,向其中导入存档,由于root之后的设备可以访问/data/data文件夹,我们直接前往文件夹内狠狠地复!制!粘!贴!整个文件夹都给他端走,不遗漏任何文件的搬。进入需要放的虚拟机,安卓端或者PC端的安卓模拟器内,打开root权限,进/data/data给他原封不动放回去。甚至你如果只是想把存档拿到手,你游戏如果有数据包(如带obb的游戏)都不用放,只用安个apk安装包就可以从PC虚拟机里提取存档了。或者也可以参考之前所说,去搜一下将.ab转压缩包然后解压的法子,解出来也是一样的东西,我是不会了,希望有人能当我师傅。

总结:

我带着烧连续肝了两天学习加码字,也挺不容易的,也是为了记录这次成功的经历,能随时翻看来自我学习保存存档,也为了能有人能解救自己的存档于快报废的旧手机上,而因root不能和备份不备份数据只有安装包而怒骂hw(天啊,这就是我)。里面有不少文字写的很口语化,显得也非常不专业,但我本身就不是学计算机的,这只是我的兴趣爱好,难免会很业余。文章里有解释不清楚的地方可以问我,我能解决的一定耐心答复(等我下班)。我也希望有小白能看了我的这篇文章能看懂并为之一笑;大佬能帮忙完善并发现更有效的解决方法;吾爱能因为这篇文章而不清理我的账号(最重要的一集)。Word没有用web视图改过,直接复制到网页上排版可能有点乱,而且没图,建议直接下载附件。在这里谢谢大家,我会虚心接受大家的批评和支持。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门