很多朋友热衷与刷写第三方非当前机型官方系统的rom。和刷写第三方gsi等等。例如
米系列机型刷写Flyme
一加机型刷写miui
oppo刷写gsi等等。
很多友友也会尝试自己移植第三方rom。但此类操作最大的问题在于修复可以开机后的bug,今天的教程综合说明下这类修复思路。资源步骤借鉴很多作者的修复经验。需要的朋友们可以参考其中的修复思路和步骤。
有些可以参考这个帖子
安卓玩机搞机技巧综合资源-----修改rom 制作rom 解包rom的一些问题解析
首先移植一般情况下都需要打开内核boot分区的宽容模式,
宽容模式就是打开系统层的一个最大兼容模式,可以理解为兼容模式)有vbm分区的去除验证。
???双击亮屏修复,内置在系统方法修复
service touch /system/bin/sh /自定义sh路径
class main
user root
disabled
oneshot
seclabel u:r:magisk:s0
on property:sys.boot_completed=1
start touch
将上诉代码加入到system/etc/init/hw/init.rc
自定义sh路径为你想要执行的地方,vendor,system,都可以
sh代码
./xiaomi-touch 14 1
将xiaomi_touch和sh文件一起放到你想要执行的地址
???自动亮度和手动亮度问题修复
打开/sys/class/backlight/panel0-backlight/max_brightness,查看手机最大亮度数值,复制最大值
加入到/vendor/overlay/FrameworksResTarget_Vendor.apk,中resources.arsc中integer/integer
config_screenBrightnessForVrSettingMaximum
config_screenBrightnessSettingMaximum中,一个是最大自动亮度一个是手动,同理min的就是最小
???关于手机参数修复,
将两个hook文件settings开头的复制到product/overlay,成功之后显示骁龙在前面的的就去system_ext/priv-app/settings/settinfs.apk中打开resources.arsc,string——zh_rcn搜索骁龙,点击内容删掉骁龙不删除变量即可
???修复开机
当移植rom后如果不开机。首先尝试修复avb验证 dm校验 格式化data这些步骤。目前的机型大多数都有机型验证校验类脚本
???手机配置信息显示问题
1.手机logo图片位置:
Settings.apk/res/drawable-xxhdpi-v4/oneplus_other.png
2.配置信息修改:
用mt管理器2编辑Settings.apk,用Dex编辑器++全选所有dex,进入com/oneplus/settings/aboutphone 搜索noce,修改那3个noce,那3个noce分别对应处理器信息,相机信息和屏幕信息。
.???修复读sim卡
修复AB GSI 读卡问题:
1.提取原包的/vendor/overlay,将overlay添加到/system/product。
2.分别提取原包和gsi的/system/build.prop,对比这两个build.prop,把gsi多出来代码复制到原包build.prop保存并把原包的build.prop替换进去就可以。(因为erfan的工具在制作gsi的时候疯狂精简build.prop,把ril那部分的代码给删除了,导致ab机子读卡有问题
???指纹修复
①屏幕指纹
1.需要整改system和vendor:
屏幕指纹驱动
屏幕指纹亮度驱动
hal服务(manifest.xml)
fod
systemui.apk里面的fod指纹代码
systemui.apk或框架apk里面的fod指纹图标
system/framework/services.jar里面的指纹服务代码
2.涉及的驱动文件(只列部分):
vendor/bin/hw/名称带有fingerprint
vendor/etc/init/名称带有fingerprint
vendor/lib/名称带有fingerprint
vendor/lib/hw/名称带有fingerprint
vendor/lib64/名称带有fingerprint
vendor/lib64/hw/名称带有fingerprint
system/lib/名称带有fingerprint
bild.prop中ro.hardware.fp.fod=true改ro.hardware.fp.fpc=true
.???修复flyme无法打开数据和通话
其他gsi、sgsi可以尝试使用这个flymedata.rc,放到system/etc/init.
???修复蓝牙
只需要在system/build.prop添加以下代码即可:
persist.bluetooth.bluetooth_audio_hal.disabled=true
ro.bluetooth.library_name=libbluetooth_qti.so
???修复gsi蓝牙音频无效问题
你可以尝试在system/build.prop和vendor/build.prop都加这些代码试试:
persist.vendor.btstack.enable.splita2dp=false
persist.vendor.btstack.a2dp_offload_cap=false
仅在Android 9生效,Android10无效。
安卓10修复蓝牙:
修复蓝牙只需要在system/build.prop添加以下代码即可:
persist.bluetooth.bluetooth_audio_hal.disabled=true
ro.bluetooth.library_name=libbluetooth_qti.so
???修复gsi的cpu频率占用过高:
删除文件system/bin/hdrfix.sh和system/etc/init/hdrfix.sh即可
修复发热:
修复gsi发热,可以删除以下文件夹:
system/priv-app/dpmservice或system/priv-app/dpmserviceapp再重启手机即可。
还是不行的话再尝试干掉nfc。
???修复屏幕闪屏和亮度调节闪屏
修复方案:
用mt管理器2修改/system/framework/framework-res.apk,编辑resources.arsc,integer/integer:
config_screenBrightnessSettingDefault:100
config_screenBrightnessSettingMaximum:255
config_screenBrightnessSettingMinimum:10
如果修改后亮度过低请修改成底包或者官方包的数值!
miui,flyme,h2os成功,其他请自行测试。
此方案仅适用于最大亮度255的设备。
???.修复状态栏填充
1.用mt管理器编辑SystemUI.apk
打开apk里面的resources.arsc
以Arsc编辑resources.arsc,查看:
com.android.systemui/dimen/dimen
搜索:padding
修改这3个值:
status_bar_padding_start
statusbar_padding_end
statusbar_padding_start
一般改成15~18dp(Dimen)
不同的手机数值也不同,自己看着改。
2.miui的是MiuiSystemUI.apk。
修改后请找到apk:
DevicesAndroidOverlay.apk DevicesOverlay.apk
并删除来确保没有这两个apk在,否则没有效果。
???hw问题
如果碰到Flyme的hw还是有问题的话请复制system/etc/init/hw.rc到vendor/etc/init再看看能不能用.......
???去除Flyme挖孔
用mt管理器打开
system/framework/framework-res.apk/resources.arsc
以Arsc编辑resources.arsc,找到:
string/string/config_mainBuiltInDisplayCutout
编辑这个数值,改成:
M 250,0 L 250,10 L -63,10 L -63,0 Z
并保存即可。
还可以改成你手机官方包默认的值.....
???USB调试问题
修改system里面的build.prop,
删ro.adb.secure=0就可以了。
部分ab的gsi可能还需要改: init.usb.configfs.rc才正常。
请自行修改。
???修复USB调试
修改system里面的build.prop,
删ro.adb.secure=0就可以了。
部分ab的gsi可能还需要改: init.usb.configfs.rc才正常。
请自行修改。
???修复MIUI息屏显示
可修复有息屏显示设置但打开无效果的Bug,理论适用于MIUI Q/R(如果有开关但是没息屏显示设置请自行补MiuiAod.apk)
1.使用 mt管理器 的Dex编辑器++打开MiuiAod.apk/classes.dex
2.搜索方法名needKeepScreenOnAtFirst,把方法内的const/4 v0, 0x0 改为const/4 v0, 0x1
???去屏幕指纹gsi的指纹图标
①去除安卓11的MIUI12.5中锁屏有屏幕指纹的解决方案
在安卓10中提供了反编译的方式去除,但却不适用于安卓11。改指纹的位置。
在build.prop中加这一段代码:
ro.hardware.fp.fod=true
persist.vendor.sys.fp.fod.location.X_Y=-448,1938
persist.vendor.sys.fp.fod.size.width_height=-1,-1
记录的是屏幕指纹的位置和大小,非全面屏可以更改1938来调整密码界面的高度,目前BUG是一小部分无法触控,其他完全正常。
当然这个方法只适用于已经做了包、修了很多bug的作者,不然还是推荐使用基于lcd屏幕的gsi
???手电不能用
点开system/ etc/ device_features里的xml文件
加入代码
<!-- Support Android Flashlight Controller -->
<bool name="support_android_flashlight">true</bool>
即可,然后点击右上角的菜单栏保存,重启
???小米账号
用mt管理器点开system下的build. prop文件,将
o.product.model=
ro.product.brand=
ro.product.name=
ro.product.device=
改里边的小米机型为别的机型
如realme叉②
ro.product.model=realme叉②
ro.product.brand=realme
ro.product.name= RMX1911
ro.product.device= RMX1991
不一定改英文,也可用骚点的狼虎之词
注意,这两行
ro.product.name=
ro.product.device=
等号后边的名称要与system/ etc/ device_features里的xml文件名称一样
???息屏
在system/ etc/ device_features里的xml文件
添加代码
<!-- whether support always on -->
<bool name="support_aod">true</bool>
<!-- whether support aod notification animate-->
<bool name="support_aod_notification_animate">true</bool>
保存,然后将万象息屏的APP添加system/ priv-app里,重启手机
???修复亮度
保留底包的/vendor/overlay/framework-res__auto_generated_rro_vendor.apk即可调节②补亮度驱动,补gsi原包vendor里的light驱动,直接搜索可以找到
???一加H2OS或OxygenOS设置背景透明看不清
①替换/system/product/overlay和/vendor/overlay成原包的
②设置里的主题,设置成其他主题即可解决
???修复MIUI sgsi/gsi人脸识别的方法
提取其他机型的/system/app/MiuiBiometric及其arm64目录对应的lib64内的驱动(我提取的是米8SE稳定版12.0.2)
将提取的apk替换到你的system下,并将提取的so文件链接到arm64目录下(注意一定要是链接)
重启生效,亲测MIUI/JoyUI都可以用
提示:这个方法是适用于录入人脸提示相机加载失败的
酷安abcdegf的补充:反编译里把operating mode里你移植的机型代号去除就行了
???修复WiFi(仅在安卓10上测试有效,其他安卓版本仅供参考)
本次提供修复模块,面具(即magisk软件)里刷,里面包括蓝牙修复,如WiFi修复了,蓝牙出问题可以打开压缩包尝试删除system/vendor/overlay/BluetoothResCommon.apk:
???修改MIUI音量条配色教程
mt管理器打开system/app/MIUISystemUIPlugin/
MIUISystemUIPlugin.apk,点击
resources.arsc,arsc编辑器打开,点击miui.systemui.plugin,点击color,再点color,右上角过滤
miui_volume_bg_color_collapse,这个是背景色
过滤
miui_volume_color_accent,这个是强调色
颜色代码是8位数,自己搭配。
???破解卡米(就是由于修改官方包,导致无法开机,卡一的情况)
从同版本官改包里提取一个services.jar,以前好像是service.jar(路径:/system/framework/services.jar)。替换官方的services.jar即可。如果自己会改,改service.jar就行了!文章来源:https://uudwc.com/A/Bpqj
关注我 了解安卓玩机搞机基本常识和一些故障解决,收集整理不易.如果对你有帮助,请点个赞赞呗文章来源地址https://uudwc.com/A/Bpqj