很多朋友熱衷與刷寫第三方非當(dāng)前機(jī)型官方系統(tǒng)的rom。和刷寫第三方gsi等等。例如
米系列機(jī)型刷寫Flyme
一加機(jī)型刷寫miui
oppo刷寫gsi等等。
很多友友也會(huì)嘗試自己移植第三方rom。但此類操作最大的問題在于修復(fù)可以開機(jī)后的bug,今天的教程綜合說明下這類修復(fù)思路。資源步驟借鑒很多作者的修復(fù)經(jīng)驗(yàn)。需要的朋友們可以參考其中的修復(fù)思路和步驟。
有些可以參考這個(gè)帖子
安卓玩機(jī)搞機(jī)技巧綜合資源-----修改rom 制作rom 解包rom的一些問題解析
首先移植一般情況下都需要打開內(nèi)核boot分區(qū)的寬容模式,
寬容模式就是打開系統(tǒng)層的一個(gè)最大兼容模式,可以理解為兼容模式)有vbm分區(qū)的去除驗(yàn)證。
??????雙擊亮屏修復(fù),內(nèi)置在系統(tǒng)方法修復(fù)
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路徑為你想要執(zhí)行的地方,vendor,system,都可以
sh代碼
./xiaomi-touch 14 1
將xiaomi_touch和sh文件一起放到你想要執(zhí)行的地址
??????自動(dòng)亮度和手動(dòng)亮度問題修復(fù)
打開/sys/class/backlight/panel0-backlight/max_brightness,查看手機(jī)最大亮度數(shù)值,復(fù)制最大值
加入到/vendor/overlay/FrameworksResTarget_Vendor.apk,中resources.arsc中integer/integer
config_screenBrightnessForVrSettingMaximum
config_screenBrightnessSettingMaximum中,一個(gè)是最大自動(dòng)亮度一個(gè)是手動(dòng),同理min的就是最小
??????關(guān)于手機(jī)參數(shù)修復(fù),
將兩個(gè)hook文件settings開頭的復(fù)制到product/overlay,成功之后顯示驍龍?jiān)谇懊娴牡木腿ystem_ext/priv-app/settings/settinfs.apk中打開resources.arsc,string——zh_rcn搜索驍龍,點(diǎn)擊內(nèi)容刪掉驍龍不刪除變量即可
??????修復(fù)開機(jī)
當(dāng)移植rom后如果不開機(jī)。首先嘗試修復(fù)avb驗(yàn)證 dm校驗(yàn)? 格式化data這些步驟。目前的機(jī)型大多數(shù)都有機(jī)型驗(yàn)證校驗(yàn)類腳本
??????手機(jī)配置信息顯示問題
1.手機(jī)logo圖片位置:
Settings.apk/res/drawable-xxhdpi-v4/oneplus_other.png
2.配置信息修改:
用mt管理器2編輯Settings.apk,用Dex編輯器++全選所有dex,進(jìn)入com/oneplus/settings/aboutphone 搜索noce,修改那3個(gè)noce,那3個(gè)noce分別對(duì)應(yīng)處理器信息,相機(jī)信息和屏幕信息。
.??????修復(fù)讀sim卡
修復(fù)AB GSI 讀卡問題:
1.提取原包的/vendor/overlay,將overlay添加到/system/product。
2.分別提取原包和gsi的/system/build.prop,對(duì)比這兩個(gè)build.prop,把gsi多出來代碼復(fù)制到原包build.prop保存并把原包的build.prop替換進(jìn)去就可以。(因?yàn)閑rfan的工具在制作gsi的時(shí)候瘋狂精簡(jiǎn)build.prop,把ril那部分的代碼給刪除了,導(dǎo)致ab機(jī)子讀卡有問題
??????指紋修復(fù)
①屏幕指紋
1.需要整改system和vendor:
屏幕指紋驅(qū)動(dòng)
屏幕指紋亮度驅(qū)動(dòng)
hal服務(wù)(manifest.xml)
fod
systemui.apk里面的fod指紋代碼
systemui.apk或框架apk里面的fod指紋圖標(biāo)
system/framework/services.jar里面的指紋服務(wù)代碼
2.涉及的驅(qū)動(dòng)文件(只列部分):
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
.??????修復(fù)flyme無法打開數(shù)據(jù)和通話
其他gsi、sgsi可以嘗試使用這個(gè)flymedata.rc,放到system/etc/init.
??????修復(fù)藍(lán)牙
只需要在system/build.prop添加以下代碼即可:
persist.bluetooth.bluetooth_audio_hal.disabled=true
ro.bluetooth.library_name=libbluetooth_qti.so
??????修復(fù)gsi藍(lán)牙音頻無效問題
你可以嘗試在system/build.prop和vendor/build.prop都加這些代碼試試:
persist.vendor.btstack.enable.splita2dp=false
persist.vendor.btstack.a2dp_offload_cap=false
僅在Android 9生效,Android10無效。
安卓10修復(fù)藍(lán)牙:
修復(fù)藍(lán)牙只需要在system/build.prop添加以下代碼即可:
persist.bluetooth.bluetooth_audio_hal.disabled=true
ro.bluetooth.library_name=libbluetooth_qti.so
??????修復(fù)gsi的cpu頻率占用過高:
刪除文件system/bin/hdrfix.sh和system/etc/init/hdrfix.sh即可
修復(fù)發(fā)熱:
修復(fù)gsi發(fā)熱,可以刪除以下文件夾:
system/priv-app/dpmservice或system/priv-app/dpmserviceapp再重啟手機(jī)即可。
還是不行的話再嘗試干掉nfc。
??????修復(fù)屏幕閃屏和亮度調(diào)節(jié)閃屏
修復(fù)方案:
用mt管理器2修改/system/framework/framework-res.apk,編輯resources.arsc,integer/integer:
config_screenBrightnessSettingDefault:100
config_screenBrightnessSettingMaximum:255
config_screenBrightnessSettingMinimum:10
如果修改后亮度過低請(qǐng)修改成底包或者官方包的數(shù)值!
miui,flyme,h2os成功,其他請(qǐng)自行測(cè)試。
此方案僅適用于最大亮度255的設(shè)備。
??????.修復(fù)狀態(tài)欄填充
1.用mt管理器編輯SystemUI.apk
打開apk里面的resources.arsc
以Arsc編輯resources.arsc,查看:
com.android.systemui/dimen/dimen
搜索:padding
修改這3個(gè)值:
status_bar_padding_start
statusbar_padding_end
statusbar_padding_start
一般改成15~18dp(Dimen)
不同的手機(jī)數(shù)值也不同,自己看著改。
2.miui的是MiuiSystemUI.apk。
修改后請(qǐng)找到apk:
DevicesAndroidOverlay.apk DevicesOverlay.apk
并刪除來確保沒有這兩個(gè)apk在,否則沒有效果。
??????hw問題
如果碰到Flyme的hw還是有問題的話請(qǐng)復(fù)制system/etc/init/hw.rc到vendor/etc/init再看看能不能用.......
??????去除Flyme挖孔
用mt管理器打開
system/framework/framework-res.apk/resources.arsc
以Arsc編輯resources.arsc,找到:
string/string/config_mainBuiltInDisplayCutout
編輯這個(gè)數(shù)值,改成:
M 250,0 L 250,10 L -63,10 L -63,0 Z?
并保存即可。
還可以改成你手機(jī)官方包默認(rèn)的值.....
??????USB調(diào)試問題
修改system里面的build.prop,
刪ro.adb.secure=0就可以了。
部分ab的gsi可能還需要改: init.usb.configfs.rc才正常。
請(qǐng)自行修改。
??????修復(fù)USB調(diào)試
修改system里面的build.prop,
刪ro.adb.secure=0就可以了。
部分ab的gsi可能還需要改: init.usb.configfs.rc才正常。
請(qǐng)自行修改。
??????修復(fù)MIUI息屏顯示
可修復(fù)有息屏顯示設(shè)置但打開無效果的Bug,理論適用于MIUI Q/R(如果有開關(guān)但是沒息屏顯示設(shè)置請(qǐng)自行補(bǔ)MiuiAod.apk)
1.使用 mt管理器 的Dex編輯器++打開MiuiAod.apk/classes.dex
2.搜索方法名needKeepScreenOnAtFirst,把方法內(nèi)的const/4 v0, 0x0 改為const/4 v0, 0x1?
??????去屏幕指紋gsi的指紋圖標(biāo)
①去除安卓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來調(diào)整密碼界面的高度,目前BUG是一小部分無法觸控,其他完全正常。
當(dāng)然這個(gè)方法只適用于已經(jīng)做了包、修了很多bug的作者,不然還是推薦使用基于lcd屏幕的gsi
??????手電不能用
點(diǎn)開system/ etc/ device_features里的xml文件
加入代碼
<!-- Support Android Flashlight Controller -->
<bool name="support_android_flashlight">true</bool>
即可,然后點(diǎn)擊右上角的菜單欄保存,重啟
??????小米賬號(hào)
用mt管理器點(diǎn)開system下的build. prop文件,將
o.product.model=
ro.product.brand=
ro.product.name=
ro.product.device=
改里邊的小米機(jī)型為別的機(jī)型
如realme叉②
ro.product.model=realme叉②
ro.product.brand=realme
ro.product.name= RMX1911
ro.product.device= RMX1991
不一定改英文,也可用騷點(diǎn)的狼虎之詞
注意,這兩行
ro.product.name=
ro.product.device=
等號(hào)后邊的名稱要與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>
保存,然后將萬(wàn)象息屏的APP添加system/ priv-app里,重啟手機(jī)
??????修復(fù)亮度
保留底包的/vendor/overlay/framework-res__auto_generated_rro_vendor.apk即可調(diào)節(jié)②補(bǔ)亮度驅(qū)動(dòng),補(bǔ)gsi原包vendor里的light驅(qū)動(dòng),直接搜索可以找到
??????一加H2OS或OxygenOS設(shè)置背景透明看不清
①替換/system/product/overlay和/vendor/overlay成原包的
②設(shè)置里的主題,設(shè)置成其他主題即可解決
??????修復(fù)MIUI sgsi/gsi人臉識(shí)別的方法
提取其他機(jī)型的/system/app/MiuiBiometric及其arm64目錄對(duì)應(yīng)的lib64內(nèi)的驅(qū)動(dòng)(我提取的是米8SE穩(wěn)定版12.0.2)
將提取的apk替換到你的system下,并將提取的so文件鏈接到arm64目錄下(注意一定要是鏈接)
重啟生效,親測(cè)MIUI/JoyUI都可以用
提示:這個(gè)方法是適用于錄入人臉提示相機(jī)加載失敗的
酷安abcdegf的補(bǔ)充:反編譯里把operating mode里你移植的機(jī)型代號(hào)去除就行了
??????修復(fù)WiFi(僅在安卓10上測(cè)試有效,其他安卓版本僅供參考)
本次提供修復(fù)模塊,面具(即magisk軟件)里刷,里面包括藍(lán)牙修復(fù),如WiFi修復(fù)了,藍(lán)牙出問題可以打開壓縮包嘗試刪除system/vendor/overlay/BluetoothResCommon.apk:
??????修改MIUI音量條配色教程
mt管理器打開system/app/MIUISystemUIPlugin/
MIUISystemUIPlugin.apk,點(diǎn)擊
resources.arsc,arsc編輯器打開,點(diǎn)擊miui.systemui.plugin,點(diǎn)擊color,再點(diǎn)color,右上角過濾
miui_volume_bg_color_collapse,這個(gè)是背景色
過濾
miui_volume_color_accent,這個(gè)是強(qiáng)調(diào)色
顏色代碼是8位數(shù),自己搭配。
??????破解卡米(就是由于修改官方包,導(dǎo)致無法開機(jī),卡一的情況)
從同版本官改包里提取一個(gè)services.jar,以前好像是service.jar(路徑:/system/framework/services.jar)。替換官方的services.jar即可。如果自己會(huì)改,改service.jar就行了!文章來源:http://www.zghlxwxcb.cn/news/detail-469480.html
?關(guān)注我 了解安卓玩機(jī)搞機(jī)基本常識(shí)和一些故障解決,收集整理不易.如果對(duì)你有幫助,請(qǐng)點(diǎn)個(gè)贊贊唄文章來源地址http://www.zghlxwxcb.cn/news/detail-469480.html
到了這里,關(guān)于安卓玩機(jī)搞機(jī)----移植第三方rom修復(fù) 第三方GSI系統(tǒng)修復(fù)bug綜合解析【一】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!