安卓玩机搞机

您所在的位置:网站首页 安卓刷机包移植 安卓玩机搞机

安卓玩机搞机

2024-07-13 05:37| 来源: 网络整理| 查看: 265

前言: 任何的适配第三方rom都需要了解一下系统的基本架构和安卓分区的基本常识。兴趣的友友可以参考以往相关博文

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

作者: Ranshen_Cervine   网址:KittenHyper

本教程以线刷包为基础;Redmi Note 12 Turbo 欧版Hyper作为底包,Redmi K70 Pro 国行Hyper作为移植包

Redmi Note 12 Turbo 欧版HyperOS版本Redmi K70 Pro 国行HyperOS版本OS1.0.4.0.UMREUXMOS1.0.12.0.UNMCNXM 移植思路: 移植system、system_ext、product、mi_ext分区修改官方刷机bat,去除回滚、vbmeta、vbmeta_ext校验安装来自Android、Microsoft、Nvidia、Qualcomm的驱动配置ADB、Fastboot环境 注意事项: super.img位于*/images中将你的工程目录添加到杀毒软件的排查列表中,一些涉及底层的安卓文件可能会使杀毒软件误报你需要有访问谷歌的能力,以便于配置ADB、Fastboot环境 1. 修复教程 1. 修复移植8Gen3机型的包卡第一屏 解包 底包super.img解包 移植包super.img解包 底包system_ext.img解包 移植包system_ext.img将 底包/system_ext/apex 复制到 移植包/system_ext/apex 2. 修复屏幕圆角、状态栏、刷新率选项、息屏显示等

解包 底包product.img

解包 线刷包product.img

底包/product/etc/device_features 找到

底包/product/etc/device_featuresmarble.xmlmarblein.xml

复制到 移植包/product/etc/device_features

底包/product/overlay 找到 底包/product/overlayDevicesAndroidOverlay.apkDevicesOverlay.apkMiuiBiometricResOverlay.apkMiuiBtRRODeviceConfigOverlay.apkMiuiFrameworkResOverlay.apk

替换掉 移植包/product/overlay 里相同的文件

底包/product/priv-app/MIUIAod 替换掉 移植包/product/priv-app/MIUIAod 3. 修复自动亮度、死机 底包/product/etc/displayconfig 替换掉 移植包/product/etc/displayconfig 4. 修复人脸识别 删除 移植包/product/app/Biometric 文件夹复制 底包/product/app/Biometric 文件夹粘贴到 移植包/product/app 5. 修复相机 复制 底包/product/priv-app/MIUICamera 文件夹替换到 移植包/product/priv-app 6. 修复NFC/小米智能卡

删除 移植包/product/pangu/system/app/NQNfcNci 文件夹,复制 底包/product/pangu/system/app/NQNfcNci 文件夹到 移植包/product/pangu/system/app

复制 移植包/product/pangu/system 下所有文件到 移植包/product

解包 底包vendor.img

打开 底包/vendor/build.prop

将以下内容

1 ro.vendor.se.type=HCE,UICC

PROP

改为

1 ro.vendor.se.type=HCE,UICC,eSE

ELM

7. 修复桌面卡死闪退 底包/vendor 找到 底包/vendormarble_build.propmarblein_build.prop

marble_build.prop 修改如下

1 2 3 4 5 6 7 8 9 10 11 12 # begin sku build properties # autogenerated by build/make/tools/buildinfo_sku.sh ro.vendor.build.fingerprint=POCO/marble_eea/marble:12/SKQ1.230401.001/V816.0.4.0.UMREUXM:user/release-keys ro.product.vendor.brand=Redmi ro.product.vendor.device=marble ro.product.vendor.manufacturer=Xiaomi ro.product.vendor.model=23049RAD8C ro.product.vendor.cert=23049RAD8C ro.product.vendor.name=marble ro.product.vendor.marketname=Redmi Note 12 Turbo # end sku build properties ro.product.board=marble

PROP

marblein_build.prop 修改如下

1 2 3 4 5 6 7 8 9 10 11 12 # begin sku build properties # autogenerated by build/make/tools/buildinfo_sku.sh ro.vendor.build.fingerprint=POCO/marblein/marblein:12/SKQ1.230401.001/V816.0.4.0.UMREUXM:user/release-keys ro.product.vendor.brand=Redmi ro.product.vendor.device=marble ro.product.vendor.manufacturer=Xiaomi ro.product.vendor.model=23049RAD8C ro.product.vendor.cert=23049RAD8C ro.product.vendor.name=marble ro.product.vendor.marketname=Redmi Note 12 Turbo # end sku build properties ro.product.board=marble

PROP

解包 底包odm.img

底包/odm/etc 找到

底包/odm/etcmarble_build.propmarblein_build.prop

marble_build.prop修改如下

1 2 3 4 5 6 7 8 9 10 11 # begin sku build properties # autogenerated by build/make/tools/buildinfo_sku.sh ro.odm.build.fingerprint=POCO/marble_eea/marble:12/SKQ1.230401.001/V816.0.4.0.UMREUXM:user/release-keys ro.product.odm.brand=Redmi ro.product.odm.device=marble ro.product.odm.manufacturer=Xiaomi ro.product.odm.model=23049RAD8C ro.product.odm.cert=23049RAD8C ro.product.odm.name=marble ro.product.odm.marketname=Redmi Note 12 Turbo # end sku build properties

PROP

marblein_build.prop修改如下

1 2 3 4 5 6 7 8 9 10 11 # begin sku build properties # autogenerated by build/make/tools/buildinfo_sku.sh ro.odm.build.fingerprint=POCO/marblein/marblein:12/SKQ1.230401.001/V816.0.4.0.UMREUXM:user/release-keys ro.product.odm.brand=Redmi ro.product.odm.device=marble ro.product.odm.manufacturer=Xiaomi ro.product.odm.model=23049RAD8C ro.product.odm.cert=23049RAD8C ro.product.odm.name=marble ro.product.odm.marketname=Redmi Note 12 Turbo # end sku build properties

PROP

8. 修复开机后的安全性报错

解包 移植包system.img

移植包/system/system/framework 找到

移植包/system/system/frameworkframework.jar

打开 framework.jar 反编译 classes3.dex ,找到方法

1 isBuildConsistent()

SMALI

将整个方法修改为

1 2 3 4 5 .method public static isBuildConsistent()Z .registers 1 const/4 v0, 0x1 return v0 .end method

SMALI

9. 精简大小 解包 底包cust.img除文件夹外其余内容全部删除 2. 打包教程 1. 打包super.img

将前面解包的内容重新打包

将打包后的 移植包system.img、system_ext.img、product.img、mi_ext.img 覆盖 底包system.img、system_ext.img、product.img、mi_ext.img

重新将修改后的底包打包,以 Redmi Note 12 Turbo 欧版HyperOS版本 OS1.0.4.0.UMREUXM 为例,super.img有如下内容

OS1.0.4.0.UMREUXM super.imgmi_ext.imgodm.imgproduct.imgsuper.imgsystem.imgsystem_ext.imgvendor.imgvendor_dlkm.img 打包时注意选择分区类型,Redmi Note 12 Turbo 的super.img分区类型为 A/B。错误的打包分区可能导致无法进入第二屏将打包好的super.img放回 */images 2. 修改官方刷机bat

删除flash_all_lock.bat和flash_all_lock.sh

编辑flash_all.bat,删除如下代码

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *marble" || echo Missmatching image and device fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *marble" || exit /B 1 ::check anti_version if exist "%~dp0images\anti_version.txt" (for /f "usebackq" %%a in ("%~dp0images\anti_version.txt") do (set CURRENT_ANTI_VER=%%a)) if [%CURRENT_ANTI_VER%] EQU [] set CURRENT_ANTI_VER=0 for /f "tokens=2 delims=: " %%i in ('fastboot %* getvar anti 2^>^&1 ^| findstr /r /c:"anti:"') do (set version=%%i) if [%version%] EQU [] set version=0 set anticheck="antirollback check pass" if %version% GTR %CURRENT_ANTI_VER% set anticheck="Current device antirollback version is greater than this pakcage" echo %anticheck% | findstr /r /c:"pass" || @echo "Antirollback check error" && exit /B 1 fastboot %* getvar crc 2>&1 | findstr /r /c:"^crc: 1" && if %errorlevel% equ 0 ( fastboot %* flash crclist %~dp0images\crclist.txt || @echo "Flash crclist error" && exit /B 1 fastboot %* flash sparsecrclist %~dp0images\sparsecrclist.txt || @echo "Flash sparsecrclist error" && exit /B 1 )

BAT

找到如下代码 1 fastboot %* flash misc %~dp0images\misc.img || @echo "Flash misc error" && exit /B 1

BAT

上述代码后添加 1 2 fastboot %* --disable-verity --disable-verification flash vbmeta %~dp0images/vbmeta.img || @echo "Flash vbmeta error" && exit 1 fastboot %* --disable-verity --disable-verification flash vbmeta_system %~dp0images/vbmeta_system.img || @echo "Flash vbmeta_system error" && exit 1

BAT

编辑flash_all_except_storage.bat,步骤与编辑flash_all.bat相同 3. 安装驱动 下载MiFlash安装来自Android、Microsoft、Nvidia、Qualcomm的驱动移植包不推荐使用MiFlash刷机 4. 配置环境

下载ADB和Fastboot

将下载的内容解压后放置到flash_all.bat、flash_all_except_storage.bat相同目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3