写在前面:今天去索尼售后换屏幕了,好贵〒_〒,不开森……
第一部分 - 刷写或更新固件的流程
准备工作
Flashtool较新版本、SuperSU刷写包较新版本、lockeddualrecovery-flashable和installer较新版本、PRFCreater;
原有手机版本的基带文件(如果不想去下就把自己手机的/system/etc/firmware/文件夹备份
待刷D6503固件
准备文件
使用PRFCreater载入ftf后缀固件、SuperSU和lockeddualrecovery,制作卡刷包并签名,需要较长时间,尤其是签名过程;
准备手机
将手机连续点击系统版本打开开发人员选项,开启USB调试和模拟位置,连接电脑并打开lockeddualrecovery-installer中的install.bat文件;如果已经root并安装相关权限管理软件可以按安装的软件来选择,如果没有root可以选第三项使用TowerRoot方式root并刷入recovery;
刷写系统
刷入完成后会重启,将制作并签名好的卡刷包放入手机,重启并连续按音量键上,选择Install zip并选择卡刷包,刷写完成后退出到主界面,进入Power Options->Power Off;
刷写其余部分
此时在电脑端准备Flashtool,64位系统打开Flashtool64,Windows 8及以上版本系统先进入高级启动选项并暂时禁用驱动程序强制签名直至安装完相关型号手机的驱动程序,驱动安装完成后选择待刷ftf固件并去掉SYSTEM和BASEBAND两项。如果是从国行刷为D6503,则必须清除用户数据、缓存等分区,如果是从D6503的其他地区版本刷写,可以保留这三个分区不格式化,刷写完成后需要等待Android系统升级并执行第一次开机。
替换基带
刷写完成后开机会没有信号,安装RootExplorer并将原有/system/etc/firmware
文件夹中的
wlan文件夹
mba.b00
mba.mdt
modem.b00~27
modem.mdt
部分文件替换进去,之前有替换adst开头的文件的但是亲测在5.0.1版本会造成降噪和醇音都会失灵变到最大声音故不替换,采用D6503系统基带中的adst系列文件
修复指南针反向问题
修改/system/etc/sensor_def_qcomdev.conf
将
# mag x/y/z
900 2 0x00010001
901 -3 0x00010001
902 -1 0x00010001
改为
# mag x/y/z
900 -2 0x00010001
901 3 0x00010001
902 -1 0x00010001
接着,需要删除/data/misc/sensors/sns.reg
这个文件。
最后重启,让conf文件生效。
注:如果不删除文件,那么新配置的conf文件不会生效。
尚存在的问题
4G环境下无法发送短信,这个是基带和内核不匹配的问题,个人估计没有足够的技术并不能修改,所以只能在要发短信时切网络状态了
第二部分 - 恢复固件的流程
之前也使用到了NUT的lockeddualrecovery,而这个recovery有备份和恢复功能,默认的完全备份会备份所有的分区(包括用户数据),而且备份存档不压缩,所以每次备份的总大小约11G+。
使用这个备份恢复功能,可以很方便地进行系统的恢复工作,只不过需要注意的一点是,每次恢复之后,kernel部分,即内核是不会刷新的。如果内核不匹配,比如是原有国行系统,还原了国际版的备份,那么内核不匹配会造成开机之后亮度很暗并且会闪屏等很多问题
所以在恢复之后需要使用Flashtool强刷对应版本的内核才能正常使用,刷写内核需要照常打开ftf固件,然后不格式化APPLOG、CACHE、DATA分区,排除除BOOTBUNDLE、KERNEL以外的所有部分,最终看到的固件包含的内容应该是这样的
kernel.sin
boot_delivery.xml
loader.sin
刷写之后如果运气好(或者是因为恢复之后直接Power Off不尝试开机直接刷内核),直接开机应该不需要升级应用就能直接恢复到备份的状态。