diff --git a/REDMI10XPRO.md b/REDMI10XPRO.md deleted file mode 100644 index 15a2175..0000000 --- a/REDMI10XPRO.md +++ /dev/null @@ -1,265 +0,0 @@ -# 红米 10X PRO 移植MIUI 14记录 -资源来源于网络,仅供交流学习,不得用做任何商业用途,不提供任何技术支持,请在下载后24小时内删除 -基于miui_BOMB_V13.0.7.0,移植文件来源于miui_CEZANNE_V14.0.5.0,卡刷包解包就行了, -思路就是对比miui_CEZANNE_V13.0.5.0与miui_CEZANNE_V14.0.5.0,取出变更了的部分,未变化的文件仍然保留10x原本的文件, -由于project treble这个东西,厂商把大部分机器直接硬件相关的文件放进了单独的vendor分区,使得product和system分区在不同机器上有了很大程度的通用性, -再加上MIUI现在很多资源都是集成在一个文件里,通过检测机型代码来切换功能,移植就很方便了 -同处理器同系统版本机型非常相近,但还是有需要修改的部分 -本文仅记录一下修改内容,具体修改行以及内容以实际文件对比结果为准 - -## product分区修改,整体上照搬k30u,但要注意以下部分 - -保留10x特有刘海 -product\app\NotchOverlay\NotchOverlay.apk - -增加游戏工具箱自动连招开关、动态分区列表和记录分区列表,其中第二部分记录分区为miui14新增,由于内核没有实际升级,所以这段感觉上无效 -product\etc\device_features\bomb.xml -``` - - true - - /system - /product - /vendor - - - rescue - oops - minidump - rawdump - crash_history - expdb - -``` -build.prop修改编译日期和指纹、版本号 -product\etc\build.prop -``` -ro.product.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.product.build.date.utc=1688559391 -ro.product.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.product.build.version.incremental=V14.0.5.0.SJNCNXM -``` -overlay升级以下apk -product\overlay\AospFrameworkResOverlay.apk -product\overlay\MccMncOverlay.apk - -overlay保留10x本身设备的apk -product\overlay\DevicesAndroidOverlay.apk -product\overlay\DevicesOverlay.apk -product\overlay\MiuiBiometricResOverlay.apk -product\overlay\MiuiFrameworkResOverlay.apk - -## system分区修改,整体上照搬k30u,但要注意以下部分 - -system\system\app -去除k30u指纹识别 -GFDelmarSetting -保留10x指纹识别 -goodix_sz - -删除data-app推广应用(番茄免费小说、抖音短视频) -system\system\data-app\com.dragon.read_104 -system\system\data-app\com.ss.android.ugc.aweme_15 - -miui14新增misys服务 -system\system\etc\permissions\vendor.xiaomi.hardware.misys-V4.0-java-permission.xml - -保留10x震动设备相关文件 -system\system\etc\excluded-input-devices.xml - -新增MiSansC字体,照搬note12pro -system\system\etc\fonts.xml -``` - - MiSansC_3.005.ttf - - - - - - MiSansC_3.005.ttf - - - - - - MiSansC_3.005.ttf - - - - - - MiSansC_3.005.ttf - - - - -``` -system\system\fonts\MiSansC_3.005.ttf - -删除system分区里k30u马达、震动服务相关文件 -system\system\framework\vendor.xiaomi.hardware.motor-V1.0-java.jar -system\system\lib\vendor.xiaomi.hardware.motor@1.0.so -system\system\lib\vendor.xiaomi.hardware.vibratorfeature@1.0.so -system\system\lib64\vendor.xiaomi.hardware.motor@1.0.so -system\system\lib64\vendor.xiaomi.hardware.vibratorfeature@1.0.so - -miui14新增misys服务相关文件 -system\system\framework\vendor.xiaomi.hardware.misys-V4.0-java.jar -system\system\lib\vendor.xiaomi.hardware.misys@4.0.so -system\system\lib64\vendor.xiaomi.hardware.misys@4.0.so - -保留10x人脸识别相关lib,MiuiBiometric有通过链接使用到这三个lib -system\system\lib64\libjni_faceunlock.so -system\system\lib64\libjni_stfaceunlock_api.so -system\system\lib64\libstfaceunlockocl.so - -MIUI14默认主题、开机动画、壁纸、图标、资源文件,照搬k30u -system\system\media - -修复默认主题小米视频无分层图标功能,包名com.miui.videoplayer,这里文件夹名莫名少了一个r -system\system\media\theme\miui_mod_icons\dynamic\com.miui.videoplaye -改成 -system\system\media\theme\miui_mod_icons\dynamic\com.miui.videoplayer - -保留10x本身的收音机apk -system\system\system_ext\app\FM - -build.prop修改编译日期和指纹、版本号 -system\system\system_ext\etc\build.prop -``` -ro.system_ext.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.system_ext.build.date.utc=1688559391 -ro.system_ext.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.system_ext.build.version.incremental=V14.0.5.0.SJNCNXM -``` -保留10x本身的收音机lib文件 -system\system\system_ext\lib64\libfmjni.so - -键位文件由于还是安卓12整体没变 -system\system\usr\keylayout -去除k30u键位文件 -ACCDET_cen.kl -保留10x键位文件 -ACCDET.kl - -build.prop修改编译日期和指纹、版本号 -system\system\build.prop -``` -ro.system.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.system.build.date.utc=1688559391 -ro.system.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.system.build.version.incremental=V14.0.5.0.SJNCNXM -ro.build.version.incremental=V14.0.5.0.SJNCNXM -ro.build.version.security_patch=2023-07-01 -ro.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.build.date.utc=1688559391 -ro.build.description=bomb-user 12 SP1A.210812.016 V14.0.5.0.SJNCNXM release-keys -ro.miui.ui.version.code=14 -ro.miui.ui.version.name=V140 -ro.vendor.build.software.version=Android12_140 -ro.miui.version.code_time=1688486400 -``` -## vendor分区修改,整体上保留10x,但要注意以下部分 - -miui14新增misys服务相关文件 -vendor\bin\hw\vendor.xiaomi.hardware.misys@4.0-service -vendor\etc\init\vendor.xiaomi.hardware.misys@4.0-service.rc - -修改权限设置文件,增加misys服务 -以及之前有提到过的miui14新增的记录分区相关权限,由于内核没有实际升级,所以这段感觉上无效 -vendor\etc\selinux\vendor_file_contexts -``` -/(vendor|system/vendor)/bin/hw/vendor.xiaomi.hardware.misys@4.0-service u:object_r:hal_misys_default_exec:s0 -/dev/block/by-name/cust u:object_r:cust_block_device:s0 -/dev/block/by-name/oops u:object_r:oops_block_device:s0 -/dev/block/by-name/rescue u:object_r:rescue_block_device:s0 -/dev/block/by-name/logdump u:object_r:vendor_logdump_partition:s0 -/dev/block/by-name/minidump u:object_r:minidump_partition:s0 -``` -修改se策略文件, -添加内容第一段大部分为miui13本身就有的,在最后两行中间追加了内容, -第二段和第三段是新增内容, -主要是增加之前有提到过的miui14新增的记录分区相关,由于内核没有实际升级,所以这段感觉上无效 -vendor\etc\selinux\vendor_sepolicy.cil -``` -cam_cal_device ebr_device expdb_device fat_device logo_device loop-control_device mbr_device met_device misc_device misc2_device mtfreqhopping_device mtgpio_device mtk_kpd_device network_device nvram_device pmt_device preloader_device pro_info_device protect_f_device protect_s_device psaux_device ptyp_device recovery_device sec_ro_device seccfg_device tee_part_device snapshot_device tgt_device touch_device tpd_em_log_device ttyp_device uboot_device uibc_device usrdata_device zram0_device hwzram0_device RT_Monitor_device kick_powerkey_device agps_device mnld_device geo_device mdlog_device md32_device scp_device adsp_device audio_scp_device sspm_device etb_device MT_pmic_adc_cali_device mtk-adc-cali_device MT_pmic_cali_device otp_device otp_part_block_device qemu_pipe_device icusb_device nlop_device irtx_device pmic_ftm_device charger_ftm_device shf_device keyblock_device offloadservice_device ttyACM_device hrm_device lens_device nvdata_device mcf_ota_block_device nvcfg_device expdb_block_device misc2_block_device logo_block_device para_block_device tee_block_device seccfg_block_device secro_block_device preloader_block_device lk_block_device protect1_block_device protect2_block_device keystore_block_device oemkeystore_block_device sec1_block_device md1img_block_device md1dsp_block_device md1arm7_block_device md3img_block_device mmcblk1_block_device mmcblk1p1_block_device bootdevice_block_device odm_block_device oem_block_device vendor_block_device dtbo_block_device loader_ext_block_device spm_device persist_block_device md_block_device spmfw_block_device mcupmfw_block_device scp_block_device sspm_block_device dsp_block_device ppl_block_device nvcfg_block_device ancservice_device mbim_device audio_ipi_device cam_vpu_block_device boot_para_block_device mtk_dfrc_device vbmeta_block_device alarm_device mdp_device mrdump_device kb_block_device dkb_block_device sar_device mtk_radio_device dpm_block_device audio_dsp_block_device gz_block_device pi_img_device vpud_device vcu_device mml_pq_device hwmsensor_device msensor_device gsensor_device als_ps_device gyroscope_device barometer_device humidity_device biometric_device sensorlist_device hf_manager_device m_batch_misc_device m_als_misc_device m_ps_misc_device m_baro_misc_device m_hmdy_misc_device m_acc_misc_device m_mag_misc_device m_gyro_misc_device m_act_misc_device m_pedo_misc_device m_situ_misc_device m_step_c_misc_device m_fusion_misc_device m_bio_misc_device dri_device postinstall_block_device ccci_wifi_proxy_device teei_fp_device teei_client_device teei_config_device utr_tui_device teei_vfs_device teei_rpmb_device ut_keymaster_device nwkopt_device tx_device gdix_mt_wrapper_device gdix_thp_device mddp_device tkcore_admin_device tkcore_block_device mobicore_admin_device mobicore_user_device mobicore_tui_device rpmb_block_device rpmb_device fingerprint_device widevine_drv_device ccci_aud_device ccci_ccb_device ccci_mdmonitor_device hall_device motor_device ccci_vts_device sound_device oops_block_device rescue_block_device cust_block_device minidump_partition vendor_logdump_partition touchfeature_device aed_device ccci_mdl_device vendor_fingerprint_device gsort_block_device ffu_partition)) - -(type oops_block_device) -(roletype object_r oops_block_device) -(type rescue_block_device) -(roletype object_r rescue_block_device) -(type cust_block_device) -(roletype object_r cust_block_device) -(type minidump_partition) -(roletype object_r minidump_partition) -(type vendor_logdump_partition) -(roletype object_r vendor_logdump_partition) - -(allow hal_misys_default block_device_31_0 (dir (ioctl read getattr lock open watch watch_reads search))) -(allow hal_misys_default super_block_device_31_0 (blk_file (ioctl read getattr lock map open watch watch_reads))) -(allow hal_misys_default oops_block_device (blk_file (ioctl read getattr lock map open watch watch_reads))) -(allow hal_misys_default rescue_block_device (blk_file (ioctl read getattr lock map open watch watch_reads))) -(allow hal_misys_default cust_block_device (blk_file (ioctl read getattr lock map open watch watch_reads))) -(allow hal_misys_default expdb_block_device (blk_file (ioctl read getattr lock map open watch watch_reads))) -``` -miui14新增misys服务相关文件 -vendor\etc\vintf\manifest\vendor.xiaomi.hardware.misys@4.0.xml -vendor\lib\hw\vendor.xiaomi.hardware.misys@4.0-impl.so -vendor\lib\vendor.xiaomi.hardware.misys@4.0.so -vendor\lib64\hw\vendor.xiaomi.hardware.misys@4.0-impl.so -vendor\lib64\vendor.xiaomi.hardware.misys@4.0.so - -build.prop修改编译日期和指纹、版本号 -vendor\odm\etc\build.prop -``` -ro.odm.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.odm.build.date.utc=1688559391 -ro.odm.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.odm.build.version.incremental=V14.0.5.0.SJNCNXM -``` -build.prop修改编译日期和指纹、版本号 -vendor\odm_dlkm\etc\build.prop -``` -ro.odm_dlkm.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.odm_dlkm.build.date.utc=1688559391 -ro.odm_dlkm.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.odm_dlkm.build.version.incremental=V14.0.5.0.SJNCNXM -``` -build.prop修改编译日期和指纹、版本号 -vendor\vendor_dlkm\etc\build.prop -``` -ro.vendor_dlkm.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.vendor_dlkm.build.date.utc=1688559391 -ro.vendor_dlkm.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.vendor_dlkm.build.version.incremental=V14.0.5.0.SJNCNXM -``` -build.prop修改编译日期和指纹、版本号 -vendor\build.prop -``` -ro.vendor.build.date=Wed Jul 5 20:16:31 CST 2023 -ro.vendor.build.date.utc=1688559391 -ro.vendor.build.fingerprint=Redmi/bomb/bomb:12/SP1A.210812.016/V14.0.5.0.SJNCNXM:user/release-keys -ro.vendor.build.version.incremental=V14.0.5.0.SJNCNXM -``` -## 重新打包system、vendor、product分区 -先用make_ext4fs或者e2fsdroid+mke2fs打包为raw image, -使用img2simg工具把raw image转换为sparse image, -使用img2sdat把sparse image转换为dat格式, -使用brotli把dat格式转换为new.dat.br格式, -就可以替换进zip卡刷包里了 -解包打包偷懒就找个安卓工具箱,dna、多幸运之类的,直接一键打包成br - -## 动态分区配置列表 -刷入卡刷包的时候会根据这个文件调整手机里动态分区的实际分布,根据上面打包得到的raw image文件大小,修改文件里对应的rawimg字节大小 -dynamic_partitions_op_list -``` -# Grow partition system from 0 to rawimg字节大小 -resize system rawimg字节大小 -# Grow partition vendor from 0 to rawimg字节大小 -resize vendor rawimg字节大小 -# Grow partition product from 0 to rawimg字节大小 -resize product rawimg字节大小 -``` -## avb验证文件,直接替换成关闭avb的文件 -vbmeta.img diff --git a/XIAOMIPAD5PRO.md b/XIAOMIPAD5PRO.md index da2a59b..121b389 100644 --- a/XIAOMIPAD5PRO.md +++ b/XIAOMIPAD5PRO.md @@ -1,42 +1,44 @@ -# 小米平板5 PRO 移植小米平板6 MAX MIUI 14记录 +# 小米平板5 PRO 移植小米平板6 Pro英寸 HyperOS记录 资源来源于网络,仅供交流学习,不得用做任何商业用途,不提供任何技术支持,请在下载后24小时内删除 -基于miui_ELISH_V14.0.5.0,移植文件来源于miui_YUDI_V14.0.6.0 -由于是同一个安卓版本同一个MIUI大版本移植,所以需要修改的内容不多 +基于ELISH_OS1.0.2.0,移植文件来源于LIUQIN_OS1.0.12.0 +这里推荐一下隔壁大佬的[HyperOS 移植项目](https://github.com/toraidl/hyperos_port),有很多移植澎湃的经验、修改启发 本文仅记录一下修改内容,具体修改行以及内容以实际文件对比结果为准 -这里有两个选择, -第一个选择是很多有的没的(像是控制中心工作台开关、设置里的平板专区、平行世界拖拽点、会议工具箱等等)是6max专属新功能,有机型验证, -如果需要解锁这些功能,要么用模块hook或者apktool反编译对应文件改判断代码,要么就全局修改机器代号,把所有代号全改成yudi, -但是相对来说,因为硬件不匹配,改代号一般都会有bug,所以如果要追求稳定,代号最好就还是用elish,用户要改代号可以用模块改。 -第二个选择就是是否集成pc版wps这一套东西, -这个玩意2.44GB,目前小米是都放在vendor分区, -因为有一个vendor服务启动项的mslgservice.rc文件,每次开机挂载镜像,解压rootfs,把linux容器放到/data/vendor/mslg/rootfs -服务启动优先级更高,所以不能普通的用面具模块代替,除非你重写一个shell脚本开机执行代替mslgservice.rc服务,而且据说不能直接用面具的losetup得用系统的,面具的权限太高了运行不了,就很麻烦。 -如果就这样直接集成,就需要扩容机器的super分区才能刷得进去,或者你就干脆做成dsu系统包,直接dsu侧载就不管包多大也不需要扩容。 +由于修改了系统文件,所以avb验证肯定是要关的,而想保证各种app兼容性,所以我选择保持selinux enforce,即不集成pc版wps 如果不集成,就不需要改vendor分区,随便在product分区里精简一点东西,就可以确保刷进机器那8.5G的super分区。 -## mi_ext分区修改,整体上照搬6max,但要注意以下部分 +## mi_ext分区修改,合并6Pro、5Pro的所有文件 build.prop修改机型代号,这里这个代号是miui ota更新服务器用来识别推送更新用的,你都刷第三方rom了这个就不重要了,除非你能用到那个服务器推送更新 +把这个东西改掉的好处就是可以屏蔽更新,不会收到移植的那个机型的更新,导致用户误升级变砖 +修改版本号为UKYCNXM mi_ext\etc\build.prop ``` ro.product.mod_device=elish +ro.mi.os.version.publish=true +ro.mi.os.version.incremental=OS1.0.12.0.UKYCNXM ``` -## odm分区无修改 + +这里提一句,比较新的机型的剃刀计划版本也比较新,支持卸载平板/手机管家,而版本不兼容就导致了部分机型移植完桌面没有平板/手机管家的图标,这里把有相关影响的内容列出来,这个部分提到的文件既不在6Pro的rom里也不在5Pro的rom里,需要从6Max(yudi)的rom中提取 +mi_ext\etc\build.prop里面有一行`ro.miui.support.system.app.uninstall.v2=true` +mi_ext\product\etc\permissions\platform-miui-uninstall.xml +mi_ext\product\framework\miui-uninstall-empty.jar +mi_ext\product\overlay\signed_PLATFORM_cf766d1e91_app_sec_overlay-release-unsigned.apk + +product\data-app\MIUISecurityManager\MIUISecurityManager.apk +## odm分区,用5pro的,不用改 这个分区是跟vendor分区配套的,目前无需修改 -## product分区修改,整体上照搬6max,但要注意以下部分 +## product分区修改,整体上照搬6Pro,但要注意以下部分 pc版wps相关文件 -访问linux容器的rdp后端MSLgRdp和交互操作的前端WpsLauncher -如果不集成pc版wps就可以删除 +访问linux容器的rdp后端MSLgRdp,PC 框架?和交互操作的前端WpsLauncher +不集成pc版wps可以直接删除 product\app\MSLgRdp product\data-app\WpsLauncher product\app -删除骁龙870算力不够导致离线字幕识别功能闪退,无法使用的6max小爱翻译 AiAsstVision -保留5pro小爱翻译 AiAsstVision(开发板内置的版本号是3.2.7,目前可以用在线字幕识别的8月最新版是3.3.3) -删除无法使用的6max人脸识别解锁 MiuiBiometric +保留5pro小爱翻译 AiAsstVision +(a13澎湃内置的版本号是4.6.0,可能需要使用模块解锁实时字幕功能) +删除6pro人脸识别解锁 Biometric 保留5pro人脸识别解锁 MiuiBiometric3373 -删除6max的手写笔和键盘设置 MiuiInputSettings_M80 据说会导致有线鼠标操作失灵 -保留5pro的手写笔和键盘设置 MiuiInputSettings -overlay同上需要替换 product\overlay\MiuiInputSettingsOverlay.apk +替换AnalyticsCore(来自白羊唐黎明) 按需精简 快应用服务引擎 @@ -47,12 +49,17 @@ product\app\MSA data-app可卸载的预装app,其中不少app都是可以在应用商店里重新安装的, product\data-app\ 因为平板5pro默认的super分区只有8.5G,而且重新打包必须预留更多空间,所以可以精简这里,把super精简到7.4G以下,越小越好 -不过如果你要塞pc版wps,就一定是扩容了机器的super分区,搞不好空间还有多就没必要精简了 -我个人是觉得没必要只为了一个难用的特别版wps,就去搞极限精简,很多常用自带功能用户到时候又要想办法装回来,挺烦人的 +我个人是觉得没必要搞极限精简,很多常用自带功能用户到时候又要想办法装回来,挺烦人的 +百度输入法小米版 +product\data-app\BaiduIME +PC版CAJ阅读器 +product\data-app\CAJLauncher +讯飞输入法小米版 +product\data-app\com.iflytek.inputmethod.miui 小米创作 product\data-app\Creation 小米商城 -product\data-app\MiShopPad +product\data-app\MiShop 米兔儿童 product\data-app\Mitukid 多看阅读 @@ -65,141 +72,258 @@ product\data-app\MIUIGameCenterPad product\data-app\MIUIMiDrive 小米社区 product\data-app\MIUIVipAccountPad +小米有品 +product\data-app\MIUIYoupin +小米汽车拓展屏 +product\data-app\Padapp 米家 product\data-app\SmartHome -设备功能配置文件,本来正常代号要用elish稳定使用的话,删除yudi.xml,照搬elish.xml就好了, -但是如果你要全局改机器代号的话,这里配置文件也要改名成yudi.xml, -所以我是建议干脆把elish.xml复制两份一个叫elish.xml一个叫yudi.xml,都放进去,这样用哪个代号也不要紧 +设备功能配置文件,本来正常代号要用elish稳定使用的话,删除liuqin.xml,照搬elish.xml就好了, +但是如果你要全局改机器代号的话,这里配置文件也要改名成liuqin.xml, +所以我是建议干脆把elish.xml复制两份一个叫elish.xml一个叫liuqin.xml,都放进去,这样用哪个代号也不要紧 product\etc\device_features\elish.xml -product\etc\device_features\yudi.xml +product\etc\device_features\liuqin.xml +修改预装app列表(剃刀计划) +``` + + + com.xiaomi.pass + com.xiaomi.scanner + com.xiaomi.gamecenter + com.miui.weather2 + com.miui.notes + com.miui.compass + com.miui.calculator + com.android.email + com.miui.cleanmaster + com.mi.misupport + com.duokan.reader + com.mfashiongallery.emag + com.miui.personalassistant + com.miui.voip + com.miui.yellowpage + com.xiaomi.midrop + com.android.midrive + com.xiaomi.drivemode + com.miui.smarttravel + com.android.soundrecorder + com.miui.screenrecorder + + + + /system/data-app/XMPass/XMPass.apk + /system/data-app/MIUIScannerGlobal/MIUIScannerGlobal.apk + /system/data-app/GameCenter/GameCenter.apk + /system/data-app/MIUIWeatherGlobal/MIUIWeatherGlobal.apk + /system/data-app/MIUINotes/MIUINotes.apk + /system/data-app/MIUICompassGlobal/MIUICompassGlobal.apk + /system/data-app/MIUICalculatorGlobal/MIUICalculatorGlobal.apk + /system/data-app/Email/Email.apk + /system/data-app/CleanMaster/CleanMaster.apk + /system/data-app/MiSupport/MiSupport.apk + /system/data-app/com.duokan.reader/com.duokan.reader.apk + /system/data-app/MiGalleryLockscreen/MiGalleryLockscreen.apk + /system/data-app/PersonalAssistant/PersonalAssistant.apk + /system/data-app/MiuiVoip/MiuiVoip.apk + /system/data-app/YellowPage/YellowPage.apk + /system/data-app/MIDrop/MIDrop.apk + /system/data-app/MiDrive/MiDrive.apk + /system/data-app/MiuiDriveMode/MiuiDriveMode.apk + /system/data-app/SmartTravel/SmartTravel.apk + /system/data-app/MIUISoundRecorderTargetSdk30Global/MIUISoundRecorderTargetSdk30Global.apk + /system/data-app/MIUIScreenRecorderLiteGlobal/MIUIScreenRecorderLiteGlobal.apk + + + + com.xiaomi.scanner + com.miui.weather2 + com.miui.notes + com.miui.compass + com.miui.calculator + com.xiaomi.midrop + com.android.soundrecorder + com.miui.screenrecorder + + + + true + + 120 + + 120 + 60 + +``` 修改屏幕亮度配置文件 -product\etc\displayconfig\display_id_4630946932993367170.xml -目前6max只有一家屏幕供应商,后续更新可能会随着增加屏幕类型,而多出其他id的文件, -而这个东西的文件名是在其他地方写死的,只能用display_id_4630946932993367170.xml,否则会出现`*** FATAL EXCEPTION IN SYSTEM PROCESS: android.display`报错无法开机 +product\etc\displayconfig\display_id_4630947141052476290.xml +product\etc\displayconfig\display_id_4630947200012256898.xml 5pro屏幕的xml文件为: product\etc\displayconfig\display_id_19260527152667265.xml product\etc\displayconfig\display_id_4630946481717202305.xml product\etc\displayconfig\display_id_4630946545580055169.xml -这三个文件的内容是完全一样的,所以只要用任意一个里面的内容替换掉display_id_4630946932993367170.xml屏幕亮度调节就正常了 -屏幕亮度曲线,三个点,随意调一调,就加个400nits中间值好了,反正决定亮度的值是在MiuiFrameworkResOverlay.apk里,value是直接抄yudi,最大最小值也是有其他地方决定的,改的太离谱也会出现上面那个报错 -``` - - 0.001709819 - 2.0 - - - 0.49975574 - 400.0 - - - 1.0 - 500 - -``` +这三个文件的内容是完全一样的,所以我选择删掉display_id_4630947141052476290.xml和display_id_4630947200012256898.xml,并且保留这三个xml文件,屏幕亮度调节就正常了 +这里需要注意Overlay里面的AospFrameworkResOverlay.apk要换成5Pro的,否则会遇到自动亮度导致系统软重启的问题 +product\overlay\AospFrameworkResOverlay.apk +照搬官方澎湃,不用修改,好耶 + +有几个东西我需要从pipa的rom里复制过来(因为都是骁龙870,比较接近) +product\etc\android_dm_table_a +product\etc\android_dm_table_b +product\etc\build.prop + build.prop修改机型代号、版本指纹,设置默认屏幕密度,关闭内存扩展 product\etc\build.prop ``` ro.product.product.name=elish -ro.product.build.fingerprint=Xiaomi/elish/missi:13/TKQ1.221114.001/V14.0.6.0.TMHCNXM:user/release-keys -ro.product.mod_device=elish +ro.product.build.fingerprint=Xiaomi/elish/miproduct:14/UKQ1.230804.001/V816.0.12.0.UKYCNXM:user/release-keys +ro.product.build.version.incremental=V816.0.12.0.UKYCNXM -ro.sf.lcd_density=360 persist.miui.density_v2=360 +ro.sf.lcd_density=360 +#默认关闭内存扩展 persist.miui.extm.enable=0 + +#开启高级材质选项 +persist.sys.background_blur_supported=true +persist.sys.background_blur_version=2 +persist.sys.mi_shadow_supported=true + +#6max多了的两行玄学优化,平滑圆角 +persist.sys.support_view_smoothcorner=true +persist.sys.support_window_smoothcorner=true + +#开启布局优化 +persist.miui.auto_ui_enable=true + +#游戏加载加速? +debug.game.video.speed=true +debug.game.video.support=true + +#作用未知 +ro.audio.3d_play=true ``` -默认主题谷歌支付无分层图标功能,平板6max好像直接就没这个文件夹,从6pro的包里提取一个,改好包名复制过来 -product\media\theme\miui_mod_icons\dynamic\com.google.android.apps.nbu +内置完美横屏计划 +product\etc\autoui_list.xml +product\etc\embedded_rules_list.xml +product\etc\fixed_orientation_list.xml + +内置完美图标计划 +product\media\theme\default\dynamicicons +product\media\theme\default\icons +product\media\theme\default\miui_mod_icons\ + +默认开启通信共享 +product\media\theme\default\framework-miui-res + +保留5pro本身开机动画(分辨率匹配屏幕) +product\media\bootanimation.zip overlay保留5pro本身设备的apk +DevicesAndroidOverlay主要影响圆角弧率、状态栏高度,aod服务(lcd没有) product\overlay\DevicesAndroidOverlay.apk +DevicesOverlay主要影响导航栏(小白条)布局以及圆角,充电动画 product\overlay\DevicesOverlay.apk -product\overlay\MiuiBiometricResOverlay.apk +MiuiFrameworkResOverlay主要影响屏幕hbm背光、hbm亮度曲线、以及一些网络制式的属性 product\overlay\MiuiFrameworkResOverlay.apk +MiuiBiometricResOverlay人脸识别资源文件空包 +product\overlay\MiuiBiometricResOverlay.apk -保留5pro相机,删除6max相机,否则会提示机型不匹配无法使用然后退出, -我个人是建议使用sevtinge修改相机4.7.230127.0版本,没有机型限制而且解锁更多功能 -product\priv-app\MiuiCamera -## system分区修改,整体上照搬6max,但要注意以下部分 -build.prop修改机型代号 -system\system\build.prop +删除6Pro相机,否则会提示机型不匹配无法使用然后退出, +目前澎湃只能用5.0以上版本的相机,老apk无法使用,同样会提示机型不匹配无法使用然后退出, +直接抄闪电flasshh的5.1通用相机,其他选择只能用谷歌相机、骁龙相机这种第三方相机 +product\priv-app\MiuiCamera +并且删除两个oat文件 +## 可选product分区修改,补全小米平板缺失的工具app +悬浮球 +product\app\MIUITouchAssistant +小米锁屏画报 +product\data-app\MIGalleryLockscreen-MIUI15\MIGalleryLockscreen-MIUI15.apk +指南针 +product\data-app\MIUICompass\MIUICompass.apk +传送门(更新为网络来源3.2.5版本,支持横屏触发) +product\priv-app\MIUIContentExtension\MIUIContentExtension.apk +添加传送门所需权限 +product\etc\permissions\privapp-permissions-product.xml ``` -ro.product.mod_device=elish + + + ``` -## system_ext分区修改,整体上照搬6max,但要注意以下部分 -build.prop修改,作用未知 -system_ext\etc\build.prop -``` -persist.vendor.dpm.feature=11 -``` -## vendor分区修改,如果选择不集成pc版wps无需修改,直接用5pro的 -如果要集成pc版wps则注意以下部分 -6max新增pc版wps相关文件,只要对比6pro(liuqin)的整个vendor分区,看孤立文件,一眼就能看出这些文件跟pc版wps有关, -其中mslgoptimg、mslgusrimg两个1G以上大文件,是导致super分区需要扩容的原因, -所以如果能以某种方法比如这里留一个到userdata的链接,然后把实际文件丢进userdata, -或者直接改sh脚本把位置就写到其他地方,就不需要占用vendor、super分区了 -另外说一句,由于有人测试了,这东西类原生也可以用,所以理论上用这个东西不一定非要移植6max的rom,如果你能把这些相关文件还有上面product分区里面的两个app放进其他安卓系统的对应位置,其他安卓系统搞不好也能运行 -``` -/vendor/bin/hw/mslgservice -/vendor/bin/losetup.sh -/vendor/bin/start-rootfs.sh -/vendor/bin/tar-rootfs.sh +## system分区不修改,直接照搬6Pro +可选修改 +从pipa的rom里复制过来一些调度文件 +system\system\etc\cgroups_8250_u_stune.json +system\system\etc\task_profiles_8250_u_stune.json -/vendor/etc/assets/md5.txt -/vendor/etc/assets/mslgoptimg -/vendor/etc/assets/mslgusrimg -/vendor/etc/assets/rootfs-23.09.08.tgz - -/vendor/etc/init/mslgservice.rc - -/vendor/lib/libext2_uuid.so - -/vendor/lib64/libext2_uuid.so -/vendor/lib64/vendor.xiaomi.mslg.keeper@1.0.so +签名破解,要修改系统app,就需要修改services.jar文件,我这里使用的SYT_ROM工具提供的插件自动修改 +system\system\framework\services.jar +build.prop修改机型代号、版本指纹 +system\system\system_dlkm\etc\build.prop ``` +ro.system_dlkm.build.fingerprint=Android/missi_pad_cn/missi:14/UKQ1.230804.001/V816.0.12.0.UKYCNXM:user/release-keys +ro.system_dlkm.build.version.incremental=V816.0.12.0.UKYCNXM +``` +system\system\build.prop +``` +ro.system.build.fingerprint=Android/missi_pad_cn/missi:14/UKQ1.230804.001/V816.0.12.0.UKYCNXM:user/release-keys +ro.system.build.version.incremental=V816.0.12.0.UKYCNXM +ro.build.version.incremental=V816.0.12.0.UKYCNXM +``` +## system_ext分区不修改,直接照搬6Pro +可选修改 +状态栏歌词(作者来自酷安 白羊唐黎明) +system_ext\priv-app\MiuiSystemUI +反编译MiuiSystemUI.apk,修改完成后替换,并删除两个oat文件 +system_ext\priv-app\Settings +反编译Settings.apk,修改完成后替换,并删除两个oat文件 +我这里使用的方法是先把两个apk复制到新建文件夹,然后使用[APKEditor](https://github.com/REAndroid/APKEditor) 反编译,得到MiuiSystemUI_decompile_xml和Settings_decompile_xml文件夹,按照酷安教程修改,他原教程是使用手机修改的,用电脑修改会稍微有点区别,具体修改内容可以参考我上传的[pad6sp_statusbar_lyric](https://github.com/ymdzq/pad6sp_statusbar_lyric/)仓库,他附件提供的有一个xml是加密xml,电脑上处理不了,所以那个xml我是直接从他的米13官改包里反编译拿的 + +build.prop修改机型代号、版本指纹 +system_ext\etc\build.prop +``` +ro.system_ext.build.fingerprint=Android/missi_pad_cn/missi:14/UKQ1.230804.001/V816.0.12.0.UKYCNXM:user/release-keys +ro.system_ext.build.version.incremental=V816.0.12.0.UKYCNXM +``` +zram配置文件,改末尾 +system_ext\etc\perfinit_bdsize_zram.conf +``` + "product_name": ["houji"], + "zram_size": { + "8":8192 + } + } +``` +改成 +``` + "product_name": ["houji"], + "zram_size": { + "8":8192 + } + }, + { + "product_name": ["elish"], + "zram_size": { + "6":6144 + } + } +``` +## vendor分区修改,整体上用5pro的,但要注意以下部分 vendor/build.prop加入代码 ``` -ro.vendor.mslg.rootfs.version=rootfs-23.09.08.tgz -sys.mslg.available=1 -``` -接下来是补充selinux的上下文权限, -补个锤子 -selinux这玩意如果有问题就会导致开机重启、直接进入recovery或者fastboot界面,所以我是真的不推荐动vendor搞wps -我看鲁迅的霸权、曾小理的移植包倒是根本就没改,直接改selinux宽容,然后mslgservice.rc把所有seclabel的mslgd改成shell,mslgservice直接不要了那行(修改方法感谢水龙指导) - -修改mslgservice.rc文件 -vendor\etc\init\mslgservice.rc -``` -service mslgservice /vendor/bin/hw/mslgservice - class core - user root - disabled - oneshot - -service tar_rootfs /vendor/bin/tar-rootfs.sh ${vendor.mslgrootfs.version} - class core - user root - seclabel u:r:shell:s0 - disabled - oneshot - -service losetup_rootfs /vendor/bin/losetup.sh - class core - user root - seclabel u:r:shell:s0 - disabled - oneshot - -service mslgrootfs /vendor/bin/start-rootfs.sh - class core - user root - seclabel u:r:shell:s0 - disabled - oneshot +vendor.audio.offload.track.enable=true + +#玄学优化代码 +# fix the drop frame issus +ro.surface_flinger.enable_frame_rate_override=false +debug.sf.auto_latch_unsignaled=0 +vendor.display.enable_display_extensions=1 ``` +## boot分区,用5pro的,不用改 +## vendor_boot分区,用5pro的,不用改 ## 重新打包mi_ext、odm、system、system_ext、vendor、product分区 先用make_ext4fs或者e2fsdroid+mke2fs打包为raw image, 然后用lpmake打包成super img @@ -208,7 +332,7 @@ vab机器一般是线刷用fastboot刷进super分区,卡刷是在recovery里 这种的情况就需要专门的脚本和工具了 由于无wps版由于不需要修改odm、vendor分区,所以理论上其实你可以直接用fastbootd模式刷入mi_ext、system、system_ext、product分区 dsu包的做法就是直接把mi_ext、system、system_ext、product分区的raw image文件打包成一个zip或者gz文件即可 -解包打包偷懒就找个安卓工具箱,米欧、dna、多幸运之类的,直接一键打包 +解包打包偷懒就找个安卓工具箱,SYT、米欧、dna、多幸运之类的,直接一键打包 ## 关闭avb验证 可选,修改fstab.qcom去除avb代码 vendor\etc\fstab.qcom @@ -218,7 +342,7 @@ vendor\etc\fstab.qcom `androidboot.selinux=permissive` 修改vbmeta.img、vbmeta_system.img,关闭avb验证,这玩意得用十六进制编辑器或者打包工具修改, -我看米欧是修改的十六进制0000007B这个地址00改成02 +我看米欧是修改的十六进制0000007B这个地址00改成02,这个改法跟下面两条命令是同样的效果 另一个办法,用户刷入vbmeta、vbmeta_system时使用命令关闭avb验证或者在twrp中直接用选项关闭 ```bash fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img