关于索尼Xperia XZ1在安卓13下开启VoLTE


前言
暑假太无聊,看到桌边自己之前的XZ1,突发奇想去XDA上看了看有没有新ROM,结果一看还真有不少,有PE,EvoX,Lineage的安卓13,想了想反正索尼原装的那些东西放到现在也没什么真的需要的(索尼解锁BL后会导致系统部分功能无法使用),就决定解锁BL后刷个机。
(封面图文无关)

需要的设备以及软件
一台可以解锁BL的Xperia XZ1 (我自己的是港版G8342)
一台Windows电脑
一张TF卡(MicroSD卡)
XperiaFirm (若是索尼系统则无需)
NewFlasher
Flashtool
Platform Tools(Android ADB)
足够的耐心以及会使用科学网络

驱动安装
下载并解压Flashtool,长按Shift的同时并按下重新启动按钮,选择禁用程序签名的模式(若开启了bitlocker请先记下bitlocker密钥)。进入系统后在x:\flashtool\drivers中找到驱动安装。

我们此处只需要Flashmode驱动以及Fastboot驱动。一路继续后完成驱动安装。

解锁Bootloader
前往 https://developer.sony.com/open-source/aosp-on-xperia-open-devices/get-started/unlock-bootloader/。
在下方需选择机型,并找到手机的IMEI并输入。(若是双卡设备则输入第一卡槽的IMEI)IMEI可以在支持软件中找到或是在拨号界面输入*#06#。

输入后并勾选下面两个框并提交,之后会生成解锁BL的密钥。
进入系统的开发者设置,打开OEM解锁和ADB调试。打开Platform Tools文件夹并在adb.exe的根目录下右击选择打开终端。通过数据线链接电脑,此时手机上可能会跳出界面询问是否要允许电脑调试该设备,钩上永远允许后按允许。此时在终端输入adb devices会显示你连接的设备。
将手机关机,拔掉数据线。在按着音量键上的同时插入数据线,等待一会后呼吸灯会变成常亮的蓝色灯。此时已成功进入fastboot模式。此时在终端输入fastboot devices也会显示链接的设备。
输入fastboot oem unlock 0x+刚刚生成的BL密钥(0x后不需要添加空格),等待一会后会提示解锁成功(注:此步会抹去手机内部存储的所有数据,TF卡则不受影响),之后会自动重启。显示以下界面则是解锁成功。


1.1 如果手机不是索尼的系统
不是索尼的系统的应该都已经刷入了twrp rec。如果现在刷的包已经带有VoLTE功能,则可以尝试去rec中备份EFS分区(进入rec后选择Backup--只勾选EFS--选择备份目的地(建议TF卡)--更改备份名称(建议)--滑动底部模块即可完成)但此种方式我未进行尝试,不保证能够成功。
以下是我测试过成功的方法

1.1.1 下载系统
刷入索尼的系统:
打开XperiaFirm,选择对应机型以及需要刷入的包

点击右边的版本号后会选择下载(Download)还是手动下载(Manual)。此处建议选择Manual,因为自带的下载我尝试了两次均不成功。
选择后根据提供的操作指示完成下载任务。
完成下载后点击下面的合并(Merge),并选择刚刚下载的文件夹。

在设备部分双击后选择相应设备,如果是XZ1的话应该是G83xx,之后输入地区以及版本,将下方的文件选择后按箭头按钮移到右边,之后按下Create便完成了固件的解包。

1.1.2 刷入系统
此处可以使用之前的Flashtool刷入,但Flashtool需要对固件进行打包后再刷入,NewFlasher会相对简单一些,不需要打包就可以直接刷入。如果想要使用Flashtool刷入请自行寻找教程操作。
将newflasher_v57文件夹内的所有文件复制到刚刚解包完的系统目录内。此时关闭手机,在按住音量下键的同时插入数据线。一段时间后呼吸灯会变为绿色常亮,此时进入了强刷模式。打开系统文件夹里的newflashe.exe,询问是否要安装Goldengate驱动,输入n回车,询问是否保留用户数据,输入n回车,询问刷机完成后的操作,输入a回车,以便完成刷机后进入系统,询问是否要保留trim数据,输入n回车。等待滚动完后系统便成功刷入。

显示以上信息便代表刷机完成。
若提示io time out或类似信息可尝试更换数据线和更换电脑上USB口进行尝试。我原本使用USB 3.0的线不能刷入,更换为2.0的线后成功刷入。

如果是索尼系统
接下来的步骤都是在索尼系统下完成。
先刷入twrp rec。可以通过进入fastboot模式后终端输入fastboot boot twrp.img(需要将rec改名后放入与adb.exe同一目录下)先临时进入twrp, 提前将twrp.img放入tf卡根目录,或挂载tf卡后使用mtp模式将文件拷贝到tf卡根目录。进入后使用twrp的Flash刷入twrp rec。
提前将magisk.zip和volte.zip放入tf卡根目录,或挂载tf卡后使用mtp模式将文件拷贝到tf卡根目录。刷入这两个压缩包后重启进入索尼系统。
具体操作视频可看 https://www.bilibili.com/video/BV1pf4y1a7gn
进入系统后插入电信卡应能自动识别并开启VoLTE,此时拨打电话可以正常拨出。
成功后关机,同时按下开机键和音量下键进入rec。
备份EFS分区。进入rec后选择Backup--只勾选EFS--选择备份目的地(建议TF卡)--更改备份名称(建议)--滑动底部模块即可完成

接下来是刷入新系统。我个人刷的是Evolution X 13,XZ1的安卓13还有别的ROM可选,启用VoLTE的方法应该是相同的。
Evo X 13是卡刷包,将ROM放入TF卡根目录后进入REC,四清(个人习惯是五清)后刷入ROM,进度条走完后便完成。选择reboot后进入系统完成激活或直接在重启阶段按住音量下+电源键再进入rec。

恢复EFS分区
进入rec后,点击还原(Restore),选择TF卡根目录备份有VoLTE的EFS文件,滑动刷入。


刷入Magisk
老生常谈的一步了。可以选择进系统安装magisk apk后再对boot.img进行patch,然后进REC刷入更改过后的boot.img。也可以下载apk后更改后缀为.zip后进入rec刷入。不在这里过多赘述。

下载并刷入VoEnabler
项目网址:https://github.com/edgd1er/voenabler/releases
下载VoEnabler的最新版本(1.8)后进入Magisk的Modules部分刷入,刷入成功后重启。进入系统后等待一段时间或是开关一下飞行模式便能开启VoLTE了。


至此,本教程结束。
这是我第一次写专栏相关的内容,若有不正确以及不足之处还请各位大佬们包涵。