Compare commits

...

No commits in common. "README" and "OS1.0.12.0_Pad" have entirely different histories.

2 changed files with 350 additions and 14 deletions

View file

@ -1,14 +0,0 @@
| 类型 | 设备 | 安卓版本 | 移植 | 链接 |
| :-: | :-: | :-: | :-: | :-: |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 6 Pro | [OS1.0.12.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.12.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 6S Pro 12.4 | [OS1.0.7.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.7.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 6S Pro 12.4 | [OS1.0.5.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.5.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 6S Pro 12.4 | [OS1.0.4.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.4.0_Pad/XIAOMIPAD5PRO.md) |
| 手机 | Redmi 10X Pro | Android 13 | 移植Redmi Note 11 Pro | [OS1.0.2.0](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.2.0/REDMI10XPRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 5 Pro 12.4 | [OS1.0.23.12.11.DEV_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.23.12.11.DEV_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 14 | 移植Xiaomi Pad 6 Max 14 | [OS1.0.2.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/OS1.0.2.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 13 | 移植Xiaomi Pad 6 Max 14 | [V14.0.6.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/V14.0.6.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 13 | 移植Xiaomi Pad 6 Max 14 | [V14.0.4.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/V14.0.4.0_Pad/XIAOMIPAD5PRO.md) |
| 平板 | Xiaomi Pad 5 Pro | Android 13 | 移植Xiaomi Pad 6 Max 14 | [V14.0.3.0_Pad](https://github.com/ymdzq/Port_MIUI_ROM/blob/V14.0.3.0_Pad/XIAOMIPAD5PRO.md) |
| 手机 | Redmi 10X Pro | Android 12 | 移植Redmi K30 Ultra | [V14.0.5.0](https://github.com/ymdzq/Port_MIUI_ROM/blob/V14.0.5.0/REDMI10XPRO.md) |
| 手机 | Redmi 10X Pro | Android 12 | 移植Redmi K30 Ultra | [V14.0.1.0](https://github.com/ymdzq/Port_MIUI_ROM/blob/V14.0.1.0/REDMI10XPRO.md) |

350
XIAOMIPAD5PRO.md Normal file
View file

@ -0,0 +1,350 @@
# 小米平板5 PRO 移植小米平板6 Pro英寸 HyperOS记录
资源来源于网络仅供交流学习不得用做任何商业用途不提供任何技术支持请在下载后24小时内删除
基于ELISH_OS1.0.2.0移植文件来源于LIUQIN_OS1.0.12.0
这里推荐一下隔壁大佬的[HyperOS 移植项目](https://github.com/toraidl/hyperos_port),有很多移植澎湃的经验、修改启发
本文仅记录一下修改内容,具体修改行以及内容以实际文件对比结果为准
由于修改了系统文件所以avb验证肯定是要关的而想保证各种app兼容性所以我选择保持selinux enforce即不集成pc版wps
如果不集成就不需要改vendor分区随便在product分区里精简一点东西就可以确保刷进机器那8.5G的super分区。
## 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
```
这里提一句,比较新的机型的剃刀计划版本也比较新,支持卸载平板/手机管家,而版本不兼容就导致了部分机型移植完桌面没有平板/手机管家的图标这里把有相关影响的内容列出来这个部分提到的文件既不在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分区修改整体上照搬6Pro但要注意以下部分
pc版wps相关文件
访问linux容器的rdp后端MSLgRdpPC 框架和交互操作的前端WpsLauncher
不集成pc版wps可以直接删除
product\app\MSLgRdp
product\data-app\WpsLauncher
product\app
保留5pro小爱翻译 AiAsstVision
a13澎湃内置的版本号是4.6.0,可能需要使用模块解锁实时字幕功能)
删除6pro人脸识别解锁 Biometric
保留5pro人脸识别解锁 MiuiBiometric3373
替换AnalyticsCore来自白羊唐黎明
按需精简
快应用服务引擎
product\app\HybridPlatform
智能服务
product\app\MSA
data-app可卸载的预装app其中不少app都是可以在应用商店里重新安装的
product\data-app\
因为平板5pro默认的super分区只有8.5G而且重新打包必须预留更多空间所以可以精简这里把super精简到7.4G以下,越小越好
我个人是觉得没必要搞极限精简,很多常用自带功能用户到时候又要想办法装回来,挺烦人的
百度输入法小米版
product\data-app\BaiduIME
PC版CAJ阅读器
product\data-app\CAJLauncher
讯飞输入法小米版
product\data-app\com.iflytek.inputmethod.miui
小米创作
product\data-app\Creation
小米商城
product\data-app\MiShop
米兔儿童
product\data-app\Mitukid
多看阅读
product\data-app\MIUIDuokanReaderPad
电子邮件
product\data-app\MIUIEmail
游戏中心
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稳定使用的话删除liuqin.xml照搬elish.xml就好了
但是如果你要全局改机器代号的话这里配置文件也要改名成liuqin.xml
所以我是建议干脆把elish.xml复制两份一个叫elish.xml一个叫liuqin.xml都放进去这样用哪个代号也不要紧
product\etc\device_features\elish.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_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_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/miproduct:14/UKQ1.230804.001/V816.0.12.0.UKYCNXM:user/release-keys
ro.product.build.version.incremental=V816.0.12.0.UKYCNXM
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
```
内置完美横屏计划
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
MiuiFrameworkResOverlay主要影响屏幕hbm背光、hbm亮度曲线、以及一些网络制式的属性
product\overlay\MiuiFrameworkResOverlay.apk
MiuiBiometricResOverlay人脸识别资源文件空包
product\overlay\MiuiBiometricResOverlay.apk
删除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
```
<privapp-permissions package="com.miui.contentextension">
<permission name="android.permission.WRITE_SECURE_SETTINGS" />
</privapp-permissions>
```
## system分区不修改直接照搬6Pro
可选修改
从pipa的rom里复制过来一些调度文件
system\system\etc\cgroups_8250_u_stune.json
system\system\etc\task_profiles_8250_u_stune.json
签名破解要修改系统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加入代码
```
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
vab机器一般是线刷用fastboot刷进super分区卡刷是在recovery里用卡刷脚本写入到super分区
常见的情况也有使用zstd工具把super压缩成zst格式打包zst需要raw格式的super.img在线刷、卡刷的时候再解压这种用压缩解压的时间来节省刷机包占用空间大小的做法
这种的情况就需要专门的脚本和工具了
由于无wps版由于不需要修改odm、vendor分区所以理论上其实你可以直接用fastbootd模式刷入mi_ext、system、system_ext、product分区
dsu包的做法就是直接把mi_ext、system、system_ext、product分区的raw image文件打包成一个zip或者gz文件即可
解包打包偷懒就找个安卓工具箱SYT、米欧、dna、多幸运之类的直接一键打包
## 关闭avb验证
可选修改fstab.qcom去除avb代码
vendor\etc\fstab.qcom
把system那一行的flags从`,avb_keys=`开始把后面的内容全删除,所有`,avb=vbmeta_system`删除,所有`,avb=vbmeta`删除,
可选vendor_boot修改header在最后增加设置宽容的代码如果要打包pc版wps就设置一下宽容如果不需要改vendor就算了
`androidboot.selinux=permissive`
修改vbmeta.img、vbmeta_system.img关闭avb验证这玩意得用十六进制编辑器或者打包工具修改
我看米欧是修改的十六进制0000007B这个地址00改成02这个改法跟下面两条命令是同样的效果
另一个办法用户刷入vbmeta、vbmeta_system时使用命令关闭avb验证或者在twrp中直接用选项关闭
```bash
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system vbmeta_system.img
```