Phigros 存档跨版本转移
原文地址 www.bilibili.com
2021/10/28 更新:截至 2021/10/27,Phigros 已在 Google Play Store 重新上架且已经更新至 v2.0.0,故删除原标题中的 “从 GooglePlay 到 TapTap”;但此教程依然适用于需要跨版本转移存档的玩家 (共存版亦可转移存档,但需要改成对应的共存版包名)。
Phigros 官方:Phigros 2.0.0 版本将于 2021.10.22 更新!
lchzh:我用的还是 GooglePlay 版的 1.6.9 版本怎么办?
GooglePlay 似乎无法更新…
然后 lchzh 试图直接安装 TapTap 的 1.6.11,结果如图:
但如果重新安装,我存档就没了啊啊啊
于是 lchzh 在官群找到了一篇来自 b 站专栏的教程:
万能的群友们
于是照做,但由于前后版本不一致在最后的恢复阶段以失败告终…
// 话说我转移存档的需求是在相同手机的不同版本之间转移,并不是在不同手机之间转移,原来一开始就用不了 qwq
望着生成的 ab 文件陷入了思考
然而经过一个下午加半个晚上的搜索,lchzh 最终找到了跨版本还原 ab 文件的方法!
// 适用于大部分 Android 手机以及 Win10 系统的电脑
// 包含的一些链接在部分地区可能需要科学上网
首先在手机上操作:
进入 “设置 | 关于手机”,多次点击 “软件版本号” 直至进入开发者模式
不同手机的文案可能存在差异,下同
此时 “设置” 界面应该会多出来 “开发者选项”,找到并打开 “USB 调试”
将手机用数据线连接至电脑:
下拉通知栏,若出现选择 “仅充电 | 传输照片 | 管理文件”,请选择 “管理文件”
若弹出消息框 “允许 USB 调试吗?”,请选择 “确定”
接下来在电脑上操作:
下载 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 并解压其中的 platform-tools 文件夹
在 platform-tools 文件夹的资源管理器界面地址栏输入 cmd 然后按 Enter (回车)
在弹出的窗口输入以下命令然后回车:
1 | adb devices |
若出现:
1 | List of devices attached |
即为成功连接手机 (若啥也没有或出现 unauthorized 则需在手机端重新允许 USB 调试)
在手机上运行 Phigros,输入以下命令然后回车:
1 | adb backup -f phi.ab -noapk -noshared -nosystem com.PigeonGames.Phigros |
然后在手机端确认 (不要输入密码)
备份完成后当前文件夹应该会多一个名为 phi.ab 的文件 (大小约 7-9MB)
// 部分手机可能需要在备份时运行 Phigros 才能备份成功,否则会产生 0-1KB 的无效文件
这就是你的 Phigros 存档了!
在确认备份文件大小无误后就能卸载 Phigros 旧版本并且安装新版本了!
// 原教程的分歧点
我们打开新安装的 Phigros 并游玩一遍新手教程 (使本地存档更新)
然后电脑端输入以下命令然后回车:
1 | adb backup -f phi-.ab -noapk -noshared -nosystem com.PigeonGames.Phigros |
在手机端确认 (不要输入密码)
于是我们获得了新旧两个版本的 ab 文件,其中 phi.ab 包含旧存档,phi-.ab 为新版本存档
注意到 ab 文件其实是经过处理的 tar 压缩文件,我们使用 abe 工具来解压并修改存档:
// 该工具依赖 Java11 + 环境,请自行安装 Java
访问 https://github.com/nelenkov/android-backup-extractor/releases/latest
点击页面内的 abe.jar 并下载到 platform-tools 文件夹
逐行输入以下代码并回车:
- 调用 abe.jar,将 ab 文件转换成计算机能直接读写的 tar 文件:
(效果:生成了 phi.tar 和 phi-.tar 两个文件)
1 | abe.jar unpack phi.ab phi.tar |
如果在建構 ab 檔的時候輸入了密碼的話,在轉換 tar 檔的時候要輸入以下指令:
1 | java -jar abe.jar unpack phi.ab phi.tar PASSWD |
- 解压 phi.tar,生成 apps 目录,释放其中的存档文件:
1 | tar -xf phi.tar |
- 用 apps 目录里的存档文件覆写 phi-.tar,实现存档从旧版本到新版本转移
(存档文件即 apps/com.PigeonGames.Phigros/sp/com.PigeonGames.Phigros.v2.playerprefs.xml)
1 | tar -rf phi-.tar apps/com.PigeonGames.Phigros/sp/com.PigeonGames.Phigros.v2.playerprefs.xml |
4. 调用 abe.jar,将 phi-.tar 转换成 phi–.ab:
1 | abe.jar pack phi-.tar phi--.ab |
- 最后将 phi–.ab 恢复到手机上:
1 | adb restore phi--.ab |
在手机上确认:
恢复结束,成功实现了 Phigros 存档跨版本转移!