在Xperia XZ上刷入AOSP

在Xperia XZ上刷入AOSP

教程作者:StaticGTF

原文链接:https://sx.ix5.org/info/flashing-aosp-on-xperia-xz/

汉化:酷安 @北冥无鱼矣/CSDN @Lenvers

修订版本:1.1(2021-09-08)

本人第一次尝试汉化,水平有限,部分专有名词可能翻译有误,不对之处还望指正!

所有脚注均为本人增补,与原文无关。

请严格遵守以下步骤,并以正确的顺序来进行操作。

操作简览:

对于了解并熟知相关步骤的人,可以直接参考本简览步骤,否则请从第一步开始阅读

1.请升级或刷入最新的官方系统,然后解锁Bootloader

2.从SONY开发者世界下载V9版本的OEM文件,进入fastboot将OEM文件刷入OEM分区

3.刷入此修复后的TWRP,修复者为Artem Labazov(@ ab123321)1

4.在TWRP中刷入最新的AOSP ROM

嗯,就是这样。

1.计算机上的安装准备

在准备刷入ROM之前,你需要准备一台可以正常使用的计算机且已安装好相关驱动,用来给设备刷入最新的FTF文件,Recovery和OEM文件。

如何设置及进入Fastboot模式,有许多的其他教程可以参考,但此教程对大部分人来说足够用,所以就不一一阐述了。

在Windows系统里:
将以下软件下载并安装到您的计算机上:
您还需要安装以下驱动:
  • Xperia XZ 驱动程序

  • Flashmode 驱动程序

  • Fastboot(S1)驱动程序

驱动程序位于FlashTool安装文件夹中,您可能需要临时禁用驱动签名验证2并重新启动计算机,才能安装这些驱动程序。

在Linux系统里:
下载Androxyde开发的线刷工具FlashTool

然后,通过不同Linux发行版的软件包管理器安装FastbootADB工具。

  • 在Ubuntu上:

    apt install android-tools-adb android-tools-fastboot
    
  • 在Arch Linux上:

    pacman -Syu android-tools
    
2.下载必要的文件

在开始刷机之前,请确保您已经在计算机上下载或安装了所需的所有文件。最好把所有需要的img文件都放在同一个文件夹中,这样在刷入的时候就不会因为输入各种路径而麻烦(比如放在包含fastboot.exe的文件夹里)。3

  • 下载索尼官方的最新固件(以.FTF为后缀的文件),它的命名规则应该是在后面有.184或者.192的后缀,抑或是以地区为结尾4。具体可以参阅此最新固件列表。您还可以使用XperiFirm附带的下载工具FlashTool进行下载。

  • 刷入此修复后的TWRP,修复者为Artem Labazov(@ ab123321)1

  • Sony开发者世界里下载适用于代号为tone、于Android Pie、内核版本为4.9的OEM文件5,此文件的文件名格式是SW_binaries_for_Xperia_Android_9.0_2.3.2_v$VERSION_tone.zip,其中$VERSION目前为V9

  • sx.ix5.org上下载最新的AOSP 10

  • 可选:从XDA上下载最新的稳定版Magisk

  • 可选:从opengapps.org里下载OpenGApps。您需要选择Android 10.06、ARM64,除此之外,您还可以根据您的需求选择不同的版本,我建议选pico,因为它的体积最小。

3.解锁Bootloader

在刷机之前,您需要解锁您设备的Bootloader请仔细阅读此网页的内容,并知晓解锁Bootloader所带来一切可能的后果

如果您设备上的Bootloader已经被解锁,则可以直接跳至下一步。

⚠警告!

在解锁Bootloader之前,请先备份您设备上的Trim Area(即"TA"分区),解锁Bootloader是一个不可逆的过程7,DRM密钥以及设备保修都可能会永久丢失!

如果您设备的Bootloader尚未解锁,您则需要访问Sony设备解锁页面来解锁Bootloader。

4.线刷最新的固件

通过USB数据线连接您的设备与计算机,在计算机上完成以下步骤。

如果您先前已升级到最新的官方固件(即.192)并且仅进行了简单的测试,例如刷入了OmniROM8,则无需再重新线刷固件,您可以直接跳过此步骤。

您可以通过以下方法进入S1刷机模式9:完全关闭设备电源,然后按住音量-键不要松手,使用USB数据线将设备连接至电脑,直至设备的呼吸灯变为绿色后方可松开按键。

随后,您便可以使用Androxyde开发的FlashTool刷入最新可用的、基于Android Oreo的、文件后缀为.FTF的线刷固件。

(FlashTool的使用教程请戳这10

5.刷入TWRP Recovery

您可以通过以下方法进入Fastboot模式11:完全关闭设备电源,然后按住音量+键不要松手,使用USB数据线将设备连接至电脑,直至设备的呼吸灯变为蓝色后方可松开按键。

进入先前准备好的ADB命令行环境 ,执行以下指令:

fastboot flash recovery twrp-3.2.1-0-kagura-ab-x.img

(您必须使用此修复后的recovery进行后续操作,因为正式版的TWRP无法挂载/data分区或处理加密)

执行完指令暂时不要退出命令行与断开手机连接,请先继续下一步(如果没有刷OEM的需要的话则可以跳过下一步)

6.刷入OEM文件

在刷入前请先检查是否解压了从索尼OEM列表中下载的zip文件,并得到以.img为后缀的文件,再使用以下指令刷入索尼的OEM文件:

(这里需要注意一下,刷入recovery和OEM时的目标分区是不一样的!)

fastboot flash oem SW_binaries_for_Xperia_Android_9.0_2.3.2_v3_tone.img
7.TWRP Recovery中的操作

从设备上拔下USB数据线,并检查设备是否完全断电。然后同时按住音量-键和电源键启动设备进入Recovery模式,当出现白色的Sony logo时,松开所有的按键。

7.1 清除数据(可选,但强烈建议执行此操作)

请在TWRP中清除/data/cache和Dalvik的缓存:

  • 开机引导至TWRP后,从左向右滑动下方的解锁条,即可启用系统修改。请不要将系统分区标记为“只读”(Read only)!
  • 点击主菜单里的“清除”(Wipe)按钮,然后执行恢复出厂设置,依然是从左向右滑动即可继续。(用户的个人文件会依旧保存在内部存储中,但所有原有的应用程序数据会被删除)

如果您是从官方固件准备刷入AOSP,那么您必须执行此操作;如果您是从先前的Android P或者Android Q执行升级操作,则可以跳过此步骤;但是如果遇到问题,那么您至少需要清除一下/cache分区,如果还不能解决问题,请备份好您的重要数据并尝试清除/data分区。

7.2 刷入AOSP ROM
  • 设备开机引导至TWRP后,从左向右滑动下方的解锁条,即可启用系统修改。请不要将系统分区标记为“只读”(Read only)!
  • 通过USB数据线将设备连接至计算机,此时设备应出现在Windows资源管理器左侧的设备列表中。
  • 将AOSP ROM的zip文件传输到手机的内部存储中。
  • 点击“安装”(Install)按钮,并在内部存储中选择AOSP(或基于AOSP)的ROM文件。
  • 从左向右滑动即可开始刷入。
7.3 修复/dsp file labels

本步骤仅适用于部分基于Android Pie的类原生ROM,Android 10不再需要此修复程序。

如果您曾经安装过基于Android Oreo的自定义内核ROM(例如OmniROM 8.1),则该dsp分区的SELinux file labels会是错误的。有关更多详细说明,请参阅 SODP文件的改写

这种情况下,只需要在TWRP中刷入DSP label修复程序即可。

7.4 刷入双卡修复程序(可选)

如果您使用的是双卡设备(F8332),请下载双卡修复程序

  • 将双卡修复程序的zip文件传输到手机的内部存储中。

  • 点击“安装”(Install)按钮,并在内部存储中选择双卡修复文件。

  • 从左向右滑动即可开始刷入。

7.5 刷入OpenGApps(可选)

如果在刷入GApps后遇到问题,请清除所有的数据,然后再次刷入ROM,且不要再尝试刷入GApps。

  • 将OpenGApps的zip文件传输到手机的内部存储中。

  • 点击“安装”(Install)按钮,并在内部存储中选择OpenGApps的zip文件。

  • 从左向右滑动即可开始刷入。

7.6 刷入Magisk(可选)

如果您需要刷入Magisk,请刷入Magisk v18.1或更高版本,然后再安装Magisk Manager应用程序,安装Magisk模块前请仔细阅读模块说明,确定该模块是否兼容您的设备!

  • 将Magisk的zip文件传输到手机的内部存储中。

  • 点击“安装”(Install)按钮,并在内部存储中选择Magisk的zip文件。

  • 从左向右滑动即可开始刷入。

如果您已刷入Magisk,则手机将在首次启动时可能会再重启一次,这是完全正常的。

8.重新启动

返回TWRP的主页,然后选择“重新启动”(Reboot)。如果TWRP建议您在设备中安装TWRP的应用程序,请拒绝并选择正常重启。

您的设备将需要一段时间才能完成启动(约5分钟或更长时间),等待其进入系统欢迎界面或主页即可。

注意!

如果可以,还请阅读一下完整的bug列表12

可选部分

您可以尝试OpenCamera,Snap Camera(来自LineageOS)或众多 Google Camera移植版之一

故障排除

如果您的设备无法通过白色的Sony logo引导开机,或长时间卡在Android开机动画上,请尝试同时按住电源键和音量+键直到出现第一次振动,这个操作将会强制重启设备。

如果您需要重新进入TWRP,则必须先关闭手机电源。在任何状态下,只要按住电源键和音量+键直到出现三次振动,设备便可强制关机。然后松开按钮并按住电源键和音量-键即可引导至TWRP。

Magisk

如果您无法安装Magisk模块,或者安装完Magisk模块无法正常开机/使用,则它们可能与您当前使用的ROM不兼容。在上传错误报告之前,请删除所有Magisk模块(通过刷入Magisk卸载包卸载Magisk)(最新版的Magisk已经不需要单独下载卸载包了,如果需要卸载Magisk请直接刷入Magisk安装包)13,然后尝试重启设备。

加密无效

请参阅下面的“格式化/data“。

格式化/data

如果仍然无法正常启动AOSP,请尝试格式化/data分区。

如果您在使用索尼官方固件时打开了加密功能,则可能在您使用AOSP前还必须格式化内部存储,这是因为官方固件似乎使用了与AOSP不同的加密版本或算法,从Android Nougat14开始,默认情况下,官方的固件都会进行加密。

在格式化/data分区前,请将您所有的照片,应用程序等备份到计算机,因为这将完全清除您的内部存储!

对于32GB(单SIM卡)设备,请执行以下指令:

fastboot format:ext4:0x58dffc000 userdata

对于64GB(双SIM卡)设备,请执行以下指令:

fastboot format:ext4:0xcd5bfc000 userdata

对于上述指令,请在ADB与Fastboot环境下执行,因为在TWRP中执行清除操作并没有为crypto footer(需要32MB的空间)留下足够的空间,而您则需要运行全磁盘加密(FDE)。

以下是用于计算fastboot format所需十六进制值的方法,也包括用于crypto footer的空间:

# Single-SIM:
# Reserve space for data encryption (23857201152-16384)
BOARD_USERDATAIMAGE_PARTITION_SIZE := 23857184768
# Dual-SIM:
# Reserve space for data encryption (55125737472-16384)
BOARD_USERDATAIMAGE_PARTITION_SIZE := 55125721088

然后使用Python计算十六进制值:

$ python
hex(23857184768)
 '0x58dffc000'
hex(55125721088)
 '0xcd5bfc000'

非常感谢StaticGTF 编写了本指南的大部分内容!

版权声明:本文为StaticGTF原创,Lenvers翻译,依据 CC BY-SA 4.0 许可证进行授权,转载请附上出处链接及本声明。


  1. 此教程所使用的修复版的TWRP已经更换了好几个版本,这个应该是目前最新的 ↩︎ ↩︎

  2. 操作方法可以参阅这里 ↩︎

  3. 就是Minimal ADB的那个安装路径下,如果你先前已经安装过类似的ADB工具,也可以移步至那个ADB工具的安装路径下,把所需的img文件都放在那里,这样可以减少很多不必要的麻烦) ↩︎

  4. 比如XZ目前的最新固件版本应该是41.3.A.2.192,而且国行版固件的后面有CN的结尾 ↩︎

  5. 除此之外,如果你想刷入其他基于旧版AOSP的ROM,请前往SONY OEM文件下载列表中下载代号为tone且你所需要的对应Android版本的OEM文件 ↩︎

  6. 如果你想刷入其他基于旧版AOSP的ROM,请选择你所需要的Android版本 ↩︎

  7. 原文如此,但据我的了解,只要TA备份还在就有办法完美回锁(仅限自己的TA备份) ↩︎

  8. 原文如此 ↩︎

  9. 即俗称的“绿灯模式” ↩︎

  10. 教程为英文版,之后如果发现有比较好的中文教程可以替换成中文的 ↩︎

  11. 即俗称的“蓝灯模式” ↩︎

  12. 未汉化 ↩︎

  13. 如果你安装的是新版Magisk,在TWRP的“终端”(terminal)里可以访问data/adb/modules目录尝试删除导致异常的模块而不必卸载整个Magisk,旧版Magisk可能需要安装“mm管理器”这个模块,在“终端”(terminal)里使用 * /mm 指令才能尝试删除其他模块 ↩︎

  14. 即牛轧糖,Android 7.x的代号,包括前文的Oreo(奥利奥,Android 8.x)、Pie(派,Android 9)与Q(Android 10)都是Android版本的代号。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值