原文地址 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 站专栏的教程:

image-20221018115303791万能的群友们

于是照做,但由于前后版本不一致在最后的恢复阶段以失败告终…

image-20221018113208862

// 话说我转移存档的需求是在相同手机的不同版本之间转移,并不是在不同手机之间转移,原来一开始就用不了 qwq

望着生成的 ab 文件陷入了思考

然而经过一个下午加半个晚上的搜索,lchzh 最终找到了跨版本还原 ab 文件的方法!

Phigros 1.6.9 Google Play 版 个人页截图留念

// 适用于大部分 Android 手机以及 Win10 系统的电脑

// 包含的一些链接在部分地区可能需要科学上网

首先在手机上操作:

进入 “设置 | 关于手机”,多次点击 “软件版本号” 直至进入开发者模式

image-20221018113321413

不同手机的文案可能存在差异,下同

此时 “设置” 界面应该会多出来 “开发者选项”,找到并打开 “USB 调试”

将手机用数据线连接至电脑:

下拉通知栏,若出现选择 “仅充电 | 传输照片 | 管理文件”,请选择 “管理文件”

若弹出消息框 “允许 USB 调试吗?”,请选择 “确定”

接下来在电脑上操作:

下载 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 并解压其中的 platform-tools 文件夹

在 platform-tools 文件夹的资源管理器界面地址栏输入 cmd 然后按 Enter (回车)

在弹出的窗口输入以下命令然后回车:

1
adb devices

若出现:

1
2
List of devices attached
[设备序列号] device

即为成功连接手机 (若啥也没有或出现 unauthorized 则需在手机端重新允许 USB 调试)

在手机上运行 Phigros,输入以下命令然后回车:

1
2
adb backup -f phi.ab -noapk -noshared -nosystem com.PigeonGames.Phigros

然后在手机端确认 (不要输入密码)

备份完成后当前文件夹应该会多一个名为 phi.ab 的文件 (大小约 7-9MB)

// 部分手机可能需要在备份时运行 Phigros 才能备份成功,否则会产生 0-1KB 的无效文件

这就是你的 Phigros 存档了!

在确认备份文件大小无误后就能卸载 Phigros 旧版本并且安装新版本了!

// 原教程的分歧点

我们打开新安装的 Phigros 并游玩一遍新手教程 (使本地存档更新)

lchzh 菜

然后电脑端输入以下命令然后回车:

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 文件夹

逐行输入以下代码并回车:

  1. 调用 abe.jar,将 ab 文件转换成计算机能直接读写的 tar 文件:

(效果:生成了 phi.tar 和 phi-.tar 两个文件)

1
2
abe.jar unpack phi.ab phi.tar
abe.jar unpack phi-.ab phi-.tar

如果在建構 ab 檔的時候輸入了密碼的話,在轉換 tar 檔的時候要輸入以下指令:

1
java -jar abe.jar unpack phi.ab phi.tar PASSWD
  1. 解压 phi.tar,生成 apps 目录,释放其中的存档文件:
1
tar -xf phi.tar
  1. 用 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
  1. 最后将 phi–.ab 恢复到手机上:
1
adb restore phi--.ab

在手机上确认:


恢复结束,成功实现了 Phigros 存档跨版本转移!

Phigros 1.6.11 TapTap 版 个人页截图