Compare commits

...

16 commits

Author SHA1 Message Date
郁闷得撞墙
c0a4216fb2 更新移植小米平板6 Pro澎湃OS1.0.12.0
补充关于平板管家相关文件的来源说明
补充需要删除Biometric,否则可能存在人脸解锁失败的问题
需要从pad6(pipa)的rom里提取部分文件,减少移植bug
增加了一段zram配置代码,同样参考了pad6(pipa)的rom
删除了多余的vendor代码,修复了可能导致桌面卡顿的问题
不再更新gpu驱动
2024-11-03 23:49:44 +08:00
郁闷得撞墙
615cc77b93 更新底包版本为ELISH_OS1.0.2.0
更改odm、boot、vendor_boot描述,
内置小爱翻译不升级,避免闪退,
修正所有版本指纹,
调整玄学优化代码,
内置完美横屏计划、完美图标计划文件,
开启通信共享,
更换相机apk,仅版本号提升,
状态栏歌词更新3.2.0
更新gpu驱动为762.10O
2024-05-25 11:21:51 +08:00
郁闷得撞墙
96b950892c 更新移植小米平板6S Pro澎湃OS1.0.7.0
更新小爱翻译版本
加入背景模糊代码?
更新传送门版本
加入签名破解
加入白羊唐黎明的状态栏歌词
2024-03-22 22:02:16 +08:00
郁闷得撞墙
a6b13b9bf5 改正换行 2024-03-22 22:00:00 +08:00
ymdzq
ebd09b8905 取消替换音质音效app
新增高级材质玄学代码开启小米阴影
去除vendor部分代码修改
2024-03-22 21:59:55 +08:00
ymdzq
7130ecbe82 更新移植小米平板6S Pro澎湃OS1.0.5.0
替换音质音效app
调整屏幕刷新率设置界面
2024-03-22 21:59:45 +08:00
郁闷得撞墙
7720a03f62
更新底包版本为ELISH_OS1.0.1.0
提一嘴有关平板管家桌面图标的问题
替换小爱翻译版本
修改机型配置文件里的预装app列表
调整AospFrameworkResOverlay.apk的描述
替换默认开机动画
2024-02-29 22:14:14 +08:00
ymdzq
4a6bdccab7 更新移植小米平板6S Pro澎湃OS1.0.4.0 2024-02-24 14:12:00 +08:00
郁闷得撞墙
0c1f1c9d4d
添加高级材质选项以及其他玄学优化代码
忽然想起来还有三行代码忘了放
2023-12-17 15:05:05 +08:00
郁闷得撞墙
18ab7f51ec
更新移植dagu澎湃开发版 2023-12-16 18:16:01 +08:00
ymdzq
6cd7fc0387 按照版本重新建立分支
仅保留平板内容
2023-12-16 16:31:15 +08:00
郁闷得撞墙
b2469c4448
更新millet配置属性说明 2023-12-15 23:44:01 +08:00
郁闷得撞墙
5b902f331b
添加悬浮球
文件夹路径
2023-12-12 22:23:33 +08:00
郁闷得撞墙
a2512dc0f7
更新overlay的说明
看了一下,这几个东西还是不用6max的比较好,按理说不能直接复制粘贴,要反编译改apk增加新内容,但是我懒
2023-12-11 21:05:01 +08:00
郁闷得撞墙
1d4b75e9f5
Update XIAOMIPAD5PRO.md
修正错别字,
调整product Overlay apk描述,
添加平板缺失部分手机app
2023-12-10 20:39:23 +08:00
郁闷得撞墙
a71a3df5c4
更新澎湃OS1.0.2.0 2023-12-10 20:26:34 +08:00
2 changed files with 251 additions and 392 deletions

View file

@ -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
```
<!-- whether support Macro Keyboard -->
<bool name="support_mi_game_macro">true</bool>
<string-array name="dynamic_partition_list">
<item>/system</item>
<item>/product</item>
<item>/vendor</item>
</string-array>
<string-array name="log_partition_list">
<item>rescue</item>
<item>oops</item>
<item>minidump</item>
<item>rawdump</item>
<item>crash_history</item>
<item>expdb</item>
</string-array>
```
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
```
<family name="miclock-time-thin">
<font weight="400" style="normal" postScriptName="MiSansC">MiSansC_3.005.ttf
<axis tag="wght" stylevalue="224"/>
</font>
</family>
<family name="miclock-date-thin">
<font weight="400" style="normal" postScriptName="MiSansC">MiSansC_3.005.ttf
<axis tag="wght" stylevalue="162"/>
</font>
</family>
<family name="miclock-time">
<font weight="400" style="normal" postScriptName="MiSansC">MiSansC_3.005.ttf
<axis tag="wght" stylevalue="230"/>
</font>
</family>
<family name="miclock-date">
<font weight="400" style="normal" postScriptName="MiSansC">MiSansC_3.005.ttf
<axis tag="wght" stylevalue="182"/>
</font>
</family>
```
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人脸识别相关libMiuiBiometric有通过链接使用到这三个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

View file

@ -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后端MSLgRdpPC 框架?和交互操作的前端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列表剃刀计划
```
<!--Add for the system data-app which could uninstall by user-->
<string-array name="system_data_packagename_list">
<item>com.xiaomi.pass</item>
<item>com.xiaomi.scanner</item>
<item>com.xiaomi.gamecenter</item>
<item>com.miui.weather2</item>
<item>com.miui.notes</item>
<item>com.miui.compass</item>
<item>com.miui.calculator</item>
<item>com.android.email</item>
<item>com.miui.cleanmaster</item>
<item>com.mi.misupport</item>
<item>com.duokan.reader</item>
<item>com.mfashiongallery.emag</item>
<item>com.miui.personalassistant</item>
<item>com.miui.voip</item>
<item>com.miui.yellowpage</item>
<item>com.xiaomi.midrop</item>
<item>com.android.midrive</item>
<item>com.xiaomi.drivemode</item>
<item>com.miui.smarttravel</item>
<item>com.android.soundrecorder</item>
<item>com.miui.screenrecorder</item>
</string-array>
<!--system data-app path list -->
<string-array name="system_data_path_list">
<item>/system/data-app/XMPass/XMPass.apk</item>
<item>/system/data-app/MIUIScannerGlobal/MIUIScannerGlobal.apk</item>
<item>/system/data-app/GameCenter/GameCenter.apk</item>
<item>/system/data-app/MIUIWeatherGlobal/MIUIWeatherGlobal.apk</item>
<item>/system/data-app/MIUINotes/MIUINotes.apk</item>
<item>/system/data-app/MIUICompassGlobal/MIUICompassGlobal.apk</item>
<item>/system/data-app/MIUICalculatorGlobal/MIUICalculatorGlobal.apk</item>
<item>/system/data-app/Email/Email.apk</item>
<item>/system/data-app/CleanMaster/CleanMaster.apk</item>
<item>/system/data-app/MiSupport/MiSupport.apk</item>
<item>/system/data-app/com.duokan.reader/com.duokan.reader.apk</item>
<item>/system/data-app/MiGalleryLockscreen/MiGalleryLockscreen.apk</item>
<item>/system/data-app/PersonalAssistant/PersonalAssistant.apk</item>
<item>/system/data-app/MiuiVoip/MiuiVoip.apk</item>
<item>/system/data-app/YellowPage/YellowPage.apk</item>
<item>/system/data-app/MIDrop/MIDrop.apk</item>
<item>/system/data-app/MiDrive/MiDrive.apk</item>
<item>/system/data-app/MiuiDriveMode/MiuiDriveMode.apk</item>
<item>/system/data-app/SmartTravel/SmartTravel.apk</item>
<item>/system/data-app/MIUISoundRecorderTargetSdk30Global/MIUISoundRecorderTargetSdk30Global.apk</item>
<item>/system/data-app/MIUIScreenRecorderLiteGlobal/MIUIScreenRecorderLiteGlobal.apk</item>
</string-array>
<!--global uninstallable system app package list-->
<string-array name="global_uninstallable_system_packagename_list">
<item>com.xiaomi.scanner</item>
<item>com.miui.weather2</item>
<item>com.miui.notes</item>
<item>com.miui.compass</item>
<item>com.miui.calculator</item>
<item>com.xiaomi.midrop</item>
<item>com.android.soundrecorder</item>
<item>com.miui.screenrecorder</item>
</string-array>
<!-- 新版屏幕刷新率设置ui -->
<!-- whether support fps change -->
<bool name="support_smart_fps">true</bool>
<!-- smart fps value-->
<integer name="smart_fps_value">120</integer>
<integer-array name="fpsList">
<item>120</item>
<item>60</item>
</integer-array>
```
修改屏幕亮度配置文件
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最大最小值也是有其他地方决定的改的太离谱也会出现上面那个报错
```
<point>
<value>0.001709819</value>
<nits>2.0</nits>
</point>
<point>
<value>0.49975574</value>
<nits>400.0</nits>
</point>
<point>
<value>1.0</value>
<nits>500</nits>
</point>
```
这三个文件的内容是完全一样的所以我选择删掉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
<privapp-permissions package="com.miui.contentextension">
<permission name="android.permission.WRITE_SECURE_SETTINGS" />
</privapp-permissions>
```
## system_ext分区修改整体上照搬6max但要注意以下部分
build.prop修改作用未知
system_ext\etc\build.prop
```
persist.vendor.dpm.feature=11
```
## vendor分区修改如果选择不集成pc版wps无需修改直接用5pro的
如果要集成pc版wps则注意以下部分
6max新增pc版wps相关文件只要对比6proliuqin的整个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改成shellmslgservice直接不要了那行修改方法感谢水龙指导
修改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