├── META-INF └── com │ └── google │ └── android │ ├── updater-script │ └── update-binary ├── system ├── product │ ├── media │ │ └── wallpaper │ │ │ └── sysui_editor_wallpaper_group │ │ │ └── enable_video_depth │ └── etc │ │ ├── permissions │ │ └── cn.google.services.xml │ │ └── device_features │ │ └── marble.xml └── system_ext │ └── etc │ └── perfinit_bdsize_zram.conf ├── module.prop ├── update.json ├── system.prop ├── LICENSE ├── README.md ├── CHANGELOG.md └── .github └── workflows └── release.yml /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK -------------------------------------------------------------------------------- /system/product/media/wallpaper/sysui_editor_wallpaper_group/enable_video_depth: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /system/product/etc/permissions/cn.google.services.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=RedmiNote12TurboPatch 2 | name=Redmi Note 12 Turbo 增强 3 | version=2.1.3 4 | versionCode=20001030 5 | author=昼お茶 6 | description=增强系统功能,还你旗舰体验! 7 | updateJson=https://github.com/hiruocha/RedmiNote12TurboPatch/raw/main/update.json -------------------------------------------------------------------------------- /update.json: -------------------------------------------------------------------------------- 1 | { 2 | "versionCode": 20001030, 3 | "version": "v2.1.3", 4 | "zipUrl": "https://github.com/hiruocha/RedmiNote12TurboPatch/releases/download/v2.1.3/RedmiNote12TurboPatch_v2.1.3.zip", 5 | "changelog": "https://github.com/hiruocha/RedmiNote12TurboPatch/raw/main/CHANGELOG.md" 6 | } 7 | -------------------------------------------------------------------------------- /META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | ################# 4 | # Initialization 5 | ################# 6 | 7 | umask 022 8 | 9 | # echo before loading util_functions 10 | ui_print() { echo "$1"; } 11 | 12 | require_new_magisk() { 13 | ui_print "*******************************" 14 | ui_print " Please install Magisk v20.4+! " 15 | ui_print "*******************************" 16 | exit 1 17 | } 18 | 19 | ######################### 20 | # Load util_functions.sh 21 | ######################### 22 | 23 | OUTFD=$2 24 | ZIPFILE=$3 25 | 26 | mount /data 2>/dev/null 27 | 28 | [ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk 29 | . /data/adb/magisk/util_functions.sh 30 | [ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk 31 | 32 | install_module 33 | exit 0 -------------------------------------------------------------------------------- /system.prop: -------------------------------------------------------------------------------- 1 | #高级材质开关 2 | persist.sys.background_blur_supported=true 3 | persist.sys.background_blur_status_default=false 4 | persist.sys.background_blur_version=2 5 | persist.sys.advanced_visual_release=3 6 | #双线程动画 7 | persist.sys.miui_animator_sched.sched_threads=2 8 | #倍速进游戏 9 | debug.game.video.support=true 10 | debug.game.video.speed=true 11 | #动态画面补偿开关 12 | debug.config.media.video.frc.support=true 13 | #超分辨率增强开关 14 | debug.config.media.video.ais.support=true 15 | #影像轮廓增强开关 16 | debug.config.media.video.aie.support=true 17 | #游戏音质优化开关 18 | ro.vendor.audio.game.effect=true 19 | #超级HDR 20 | persist.sys.support_ultra_hdr=true 21 | #禁用应用预加载 22 | persist.sys.prestart.proc=false 23 | #开启dm映射 24 | persist.miui.extm.dm_opt.enable=true 25 | #息屏 1 Hz 刷新率 26 | ro.vendor.display.primary_idle_refresh_rate=60,1:10 27 | ro.vendor.mi_sf.aod_mode_ddic_refresh_rate=1 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 hiruocha 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Redmi Note 12 Turbo 增强模块 2 | 增强系统功能,还你旗舰体验! 3 | > 代码来源为酷安和GitHub等各处收集,贡献者名单见[鸣谢](#鸣谢)及[更新日志](CHANGELOG.md) 4 | ## 模块补全&增强列表 5 | ### 系统 6 | - 去除国行GMS限制 7 | - 禁用应用预加载 8 | - 开启dm映射 9 | - zram 1:1白名单 10 | ### 显示 11 | - 双线程动画 12 | - 超级HDR 13 | - 高级材质开关 `设置 > 显示与亮度` 14 | - 屏幕刷新率 90 Hz 选项 `设置 > 显示与亮度 > 屏幕刷新率` 15 | - 息屏显示模式始终显示和定时显示选项 `设置 > 系统个性化 > 息屏 > 显示模式` 16 | - 真彩显示开关 `设置 > 显示与亮度 > 色彩风格` 17 | - AI大师画质引擎入口 `设置 > 显示与亮度` 18 | - AI智能场景优化开关 `设置 > 显示与亮度 > AI大师画质引擎` 19 | - 动态画面补偿开关 `设置 > 显示与亮度 > AI大师画质引擎` 20 | - 超分辨率增强开关 `设置 > 显示与亮度 > AI大师画质引擎` 21 | - 影像轮廓增强开关 `视频工具箱(视频应用内展开侧滑栏进入)> 画质提升` 22 | - 节律护眼选项 `设置 > 显示与亮度 > 护眼模式(需打开护眼模式开关)` 23 | - 智能刷新率开关 `视频工具箱(视频应用内展开侧滑栏进入)` 24 | - 自动降低屏幕亮度开关 `游戏加速 > 加速设置 > 性能增强` 25 | - 专业原色开关 `设置 > 显示与亮度 > 色彩风格` 26 | - 自动调节色温开关 `设置 > 显示与亮度 > 护眼模式(需打开护眼模式开关)` 27 | - 息屏样式和锁屏样式一致选项 `设置 > 系统个性化 > 息屏 > 息屏样式` 28 | - 息屏 1 Hz 刷新率 29 | - 锁屏景深视频壁纸 30 | ### 游戏 31 | - 倍速进游戏 32 | - 游戏音质优化开关 `游戏加速 > 加速设置 > 性能增强 > 性能增强` 33 | - 狂暴引擎(**仅UI,无实际功能**) `设置 > 省电与电池 > 当前模式`&`游戏工具箱(游戏应用内展开侧滑栏进入)` 34 | ### 相册 35 | - 超动态显示开关 `相册 > 设置` 36 | ## 注意事项 37 | - 仅支持搭载官方国行版MIUI/HyperOS的Redmi Note 12 Turbo/POCO F5 (marble) 38 | - **(重要!)此模块可能会导致系统损坏、变砖或其他不可预测的风险,刷入前请保证自己有基本的玩机基础知识及救砖能力,本人不对无脑刷入此模块导致的一切后果负责** 39 | ## 鸣谢 40 | (以下排名不分先后) 41 | 酷安用户名:什么都不会的小白菜、閃電Flashh、钓鱼竿钓大鱼、茶柚君、MT启明星、Decorat、不会起名的Nao、周逸睎、FluidCrysta1 42 | [unlock-cn-gms](https://github.com/fei-ke/unlock-cn-gms) 43 | ## 注: 44 | - 如果有希望添加到该模块的补全或增强也欢迎提issue或pr补充 45 | - 如果本模块有帮助到您,劳烦点个star,感谢! 46 | 47 | ## LICENSE 48 | [MIT](LICENSE) 49 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 更新日志 2 | 3 | ## 注意事项 4 | - 仅支持搭载官方国行版MIUI(未经测试)/HyperOS的Redmi Note 12 Turbo/POCO F5 (marble) 5 | - **(重要!)此模块可能会导致系统损坏、变砖或其他不可预测的风险,刷入前请保证自己有基本的玩机基础知识及救砖能力,本人不对无脑刷入此模块导致的一切后果负责** 6 | 7 | ## v2.1.3 8 | - 添加 高级材质3.0 9 | 10 | ## v2.1.2 11 | - 添加 锁屏景深视频壁纸 (酷安 MT启明星) 12 | - 添加 息屏 1 Hz 刷新率 (酷安 FluidCrysta1) 13 | 14 | ## v2.1.1 15 | - 更改 模块描述 16 | - 删除 防闪烁模式开关(无效) 17 | 18 | ## v2.1 19 | - 添加 去除国行GMS限制 ([unlock-cn-gms](https://github.com/fei-ke/unlock-cn-gms)) 20 | - 添加 禁用应用预加载 21 | - 添加 开启dm映射 22 | - 添加 zram 1:1白名单 23 | 24 | ## v2.0.1 25 | - 添加 息屏样式和锁屏样式一致选项 (酷安 周逸睎) 26 | - 添加 超动态显示开关 (酷安 MT启明星) 27 | 28 | ## v2.0 29 | - 更改 更名为**Redmi Note 12 Turbo 增强** 30 | - 更新 `marble.xml`同步HyperOS2.0.5.0.VMRCNXM 31 | - 更改 版本号格式,取消与官方版本号关联 32 | 33 | ## v1.0.18.1 34 | - 添加 加回原色模式选项(删除后真彩显示开关会消失) 35 | - 添加 加回`META-INF`文件夹(Magisk仍然需要) 36 | - 添加 在线更新链接 37 | 38 | ## v1.0.18.0 39 | - 删除 原色模式选项(已被专业原色开关代替) 40 | - 更改 高级材质开关默认关闭 41 | - 添加 自动调节色温开关 (酷安 不会起名的Nao) 42 | 43 | ## v1.0.14.1 44 | - 删除 `META-INF`文件夹 45 | - 添加 超级HDR (酷安 Decorat) 46 | 47 | ## v1.0.14.0 48 | - 更新 `marble.xml`同步HyperOS1.0.14.0.UMRCNXM 49 | - 更改 `marble.xml`中新增代码的位置至文件底部 50 | - 删除 快充加速开关(无效) 51 | - 添加 自动降低屏幕亮度开关 (酷安 茶柚君) 52 | - 添加 专业原色开关 (酷安 MT启明星) 53 | 54 | ## v1.0.9.1 55 | - 更改 模块id 56 | - 添加 快充加速开关 (酷安 閃電Flashh) 57 | - 添加 智能刷新率开关 (酷安 閃電Flashh) 58 | - 添加 狂暴引擎 (酷安 閃電Flashh) 59 | - 添加 防闪烁模式开关 (酷安 茶柚君) 60 | 61 | ## v1.0.9.0.UMRCNXM 62 | - 第一个版本 63 | - `marble.xml`基于HyperOS1.0.9.0.UMRCNXM 64 | - 添加 高级材质开关 65 | - 添加 倍速进游戏 66 | - 添加 双线程动画 67 | - 添加 屏幕刷新率 90 Hz 选项 (酷安 钓鱼竿钓大鱼) 68 | - 添加 息屏显示模式始终显示和定时显示选项 (酷安 钓鱼竿钓大鱼) 69 | - 添加 原色模式选项 (酷安 钓鱼竿钓大鱼) 70 | - 添加 真彩显示开关 (酷安 钓鱼竿钓大鱼) 71 | - 添加 AI大师画质引擎入口 (酷安 钓鱼竿钓大鱼) 72 | - 添加 AI智能场景优化开关 (酷安 钓鱼竿钓大鱼) 73 | - 添加 动态画面补偿开关 (酷安 閃電Flashh) 74 | - 添加 超分辨率增强开关 (酷安 閃電Flashh) 75 | - 添加 影像轮廓增强开关 (酷安 閃電Flashh) 76 | - 添加 游戏音质优化开关 (酷安 閃電Flashh) 77 | - 添加 节律护眼选项 (酷安 什么都不会的小白菜) -------------------------------------------------------------------------------- /system/system_ext/etc/perfinit_bdsize_zram.conf: -------------------------------------------------------------------------------- 1 | { 2 | "auto_zram": [ 3 | { 4 | "auto_zram_flash": [16], 5 | "auto_zram_ram_2G": { 6 | "def_bdsize":0.5, "0.5":1024 7 | } 8 | }, 9 | { 10 | "auto_zram_flash": [32], 11 | "auto_zram_ram_2G":{ 12 | "def_bdsize":0.5, "0.5":1024, "1.0":1024, "2.0":2048 13 | }, 14 | "auto_zram_ram_3G":{ 15 | "def_bdsize":0.5, "0.5":1536, "1.0":1536, "2.0":2048 16 | } 17 | }, 18 | { 19 | "auto_zram_flash": [64], 20 | "auto_zram_ram_2G":{ 21 | "def_bdsize":1.0, "0.5":1024, "1.0":1024, "2.0":2048 22 | }, 23 | "auto_zram_ram_3G":{ 24 | "def_bdsize":1.0, "1.0":2048, "2.0":2048, "3.0":3072 25 | }, 26 | "auto_zram_ram_4G":{ 27 | "def_bdsize":1.0, "1.0":3072, "2.0":3072, "4.0":4096 28 | }, 29 | "auto_zram_ram_6G":{ 30 | "def_bdsize":2.0, "1.0":4096, "2.0":4096, "4.0":4096 31 | } 32 | }, 33 | { 34 | "auto_zram_flash": [128], 35 | "auto_zram_ram_4G":{ 36 | "def_bdsize":2.0, "1.0":3072, "2.0":3072, "4.0":4096 37 | }, 38 | "auto_zram_ram_6G":{ 39 | "def_bdsize":2.0, "2.0":4096, "4.0":4096, "6.0":6144 40 | }, 41 | "auto_zram_ram_8G":{ 42 | "def_bdsize":4.0, "4.0":6144, "6.0":6144, "8.0":8192 43 | }, 44 | "auto_zram_ram_12G":{ 45 | "def_bdsize":4.0, "4.0":8192, "6.0":8192, "8.0":8192, "12.0":12288 46 | }, 47 | "auto_zram_ram_16G":{ 48 | "def_bdsize":6.0, "6.0":12288, "8.0":12288, "12.0":12288, "16.0":16384 49 | }, 50 | "auto_zram_ram_24G":{ 51 | "def_bdsize":6.0, "6.0":16384, "8.0":16384, "12.0":16384, "16.0":16384 52 | } 53 | }, 54 | { 55 | "auto_zram_flash": [256], 56 | "auto_zram_ram_4G":{ 57 | "def_bdsize":2.0, "1.0":3072, "2.0":3072, "4.0":4096 58 | }, 59 | "auto_zram_ram_6G":{ 60 | "def_bdsize":4.0, "2.0":4096, "4.0":4096, "6.0":6144 61 | }, 62 | "auto_zram_ram_8G":{ 63 | "def_bdsize":4.0, "4.0":6144, "6.0":6144, "8.0":8192 64 | }, 65 | "auto_zram_ram_12G":{ 66 | "def_bdsize":4.0, "4.0":8192, "6.0":8192, "8.0":8192, "12.0":12288 67 | }, 68 | "auto_zram_ram_16G":{ 69 | "def_bdsize":6.0, "6.0":12288, "8.0":12288, "12.0":12288, "16.0":16384 70 | }, 71 | "auto_zram_ram_24G":{ 72 | "def_bdsize":6.0, "6.0":16384, "8.0":16384, "12.0":16384, "16.0":16384 73 | } 74 | }, 75 | { 76 | "auto_zram_flash": [512, 1024], 77 | "auto_zram_ram_4G":{ 78 | "def_bdsize":2.0, "1.0":3072, "2.0":3072, "4.0":4096 79 | }, 80 | "auto_zram_ram_6G":{ 81 | "def_bdsize":4.0, "2.0":4096, "4.0":4096, "6.0":6144 82 | }, 83 | "auto_zram_ram_8G":{ 84 | "def_bdsize":6.0, "4.0":6144, "6.0":6144, "8.0":8192 85 | }, 86 | "auto_zram_ram_12G":{ 87 | "def_bdsize":6.0, "4.0":8192, "6.0":8192, "8.0":8192, "12.0":12288 88 | }, 89 | "auto_zram_ram_16G":{ 90 | "def_bdsize":6.0, "6.0":12288, "8.0":12288, "12.0":12288, "16.0":16384 91 | }, 92 | "auto_zram_ram_24G":{ 93 | "def_bdsize":6.0, "6.0":16384, "8.0":16384, "12.0":16384, "16.0":16384 94 | } 95 | } 96 | ], 97 | "zram":[ 98 | { 99 | "product_name": ["evergo", "evergreen", "opal", "selene", "spes", "fog", "wind", "rain", "spesn", "earth", "aether", "eos", "rock", "stone", "camellian", "camellia", "tapas", "topaz", "sea", "ocean","light","sunstone"], 100 | "zram_size": { 101 | "def":512,"2":1024,"3":3072,"4":4096,"6":4096,"8":6144,"10":6144,"12":8192,"16":14336, "18":14336, "20":15360, "24":15360, "32":16384 102 | } 103 | }, 104 | { 105 | "product_name": ["yunluo", "sky", "river"], 106 | "zram_size": { 107 | "3":3072, "4":4096 108 | } 109 | }, 110 | { 111 | "product_name": ["air", "atmos", "gust", "gale", "xun"], 112 | "zram_size": { 113 | "4":4096 114 | } 115 | }, 116 | { 117 | "product_name": ["fire", "heat"], 118 | "zram_size": { 119 | "4":4096 120 | } 121 | }, 122 | { 123 | "product_name": ["houji", "dada", "marble"], 124 | "zram_size": { 125 | "8":8192, "12":12288, "16":16384 126 | } 127 | }, 128 | { 129 | "product_name": ["miro", "shennong", "haotian","zorn", "xuanyuan"], 130 | "zram_size": { 131 | "12":12288, "16":16384 132 | } 133 | }, 134 | { 135 | "product_name": ["garnet"], 136 | "zram_size": { 137 | "8":8192 138 | } 139 | }, 140 | { 141 | "product_name": ["manet", "vermeer"], 142 | "zram_size": { 143 | "16":16384 144 | } 145 | } 146 | ] 147 | } 148 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: 打包并发布 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | build-and-release: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: 检出代码 14 | uses: actions/checkout@v4 15 | with: 16 | fetch-depth: 0 17 | 18 | - name: 准备变量 19 | id: vars 20 | run: | 21 | TAG_NAME="${GITHUB_REF#refs/tags/}" 22 | MODULE_ID="RedmiNote12TurboPatch" 23 | ZIP_FILENAME="${MODULE_ID}_${TAG_NAME}.zip" 24 | UPDATE_JSON_PATH="update.json" 25 | CHANGELOG_PATH="CHANGELOG.md" 26 | MODULE_PROP_PATH="module.prop" 27 | REPO_OWNER="${{ github.repository_owner }}" 28 | REPO_NAME="${{ github.event.repository.name }}" 29 | DEFAULT_BRANCH="main" 30 | 31 | echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_OUTPUT 32 | echo "ZIP_FILENAME=${ZIP_FILENAME}" >> $GITHUB_OUTPUT 33 | echo "MODULE_ID=${MODULE_ID}" >> $GITHUB_OUTPUT 34 | echo "UPDATE_JSON_PATH=${UPDATE_JSON_PATH}" >> $GITHUB_OUTPUT 35 | echo "CHANGELOG_PATH=${CHANGELOG_PATH}" >> $GITHUB_OUTPUT 36 | echo "MODULE_PROP_PATH=${MODULE_PROP_PATH}" >> $GITHUB_OUTPUT # 输出 module.prop 路径 37 | echo "REPO_OWNER=${REPO_OWNER}" >> $GITHUB_OUTPUT 38 | echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_OUTPUT 39 | echo "DEFAULT_BRANCH=${DEFAULT_BRANCH}" >> $GITHUB_OUTPUT 40 | DOWNLOAD_URL="https://github.com/${REPO_OWNER}/${REPO_NAME}/releases/download/${TAG_NAME}/${ZIP_FILENAME}" 41 | echo "DOWNLOAD_URL=${DOWNLOAD_URL}" >> $GITHUB_OUTPUT 42 | 43 | - name: 提取更新日志 44 | id: changelog 45 | run: | 46 | echo "正在从 ${{ steps.vars.outputs.CHANGELOG_PATH }} 提取版本 ${{ steps.vars.outputs.TAG_NAME }} 的更新日志..." 47 | LOG_NOTES=$(awk '/^##\s*'${{ steps.vars.outputs.TAG_NAME }}'/{ f=1; next } /^##\s*v?[0-9]/{ f=0 } f' ${{ steps.vars.outputs.CHANGELOG_PATH }} | sed '${/^$/d;}') 48 | 49 | if [ -z "$LOG_NOTES" ]; then 50 | echo "警告:未能在 ${{ steps.vars.outputs.CHANGELOG_PATH }} 中找到版本 ${{ steps.vars.outputs.TAG_NAME }} 的更新日志。" 51 | LOG_NOTES="自动发布版本 ${{ steps.vars.outputs.TAG_NAME }}。" 52 | else 53 | echo "成功提取到更新日志。" 54 | echo "log_notes<> $GITHUB_OUTPUT 55 | echo "$LOG_NOTES" >> $GITHUB_OUTPUT 56 | echo "EOF" >> $GITHUB_OUTPUT 57 | fi 58 | 59 | - name: 打包 Magisk 模块 60 | run: | 61 | echo "开始打包模块..." 62 | 63 | if [ ! -f module.prop ]; then 64 | if [ ! -f ../${{ steps.vars.outputs.MODULE_PROP_PATH }} ]; then 65 | echo "错误:找不到 module.prop 文件!请确保路径正确。" 66 | exit 1 67 | fi 68 | fi 69 | 70 | zip -r9 ${{ steps.vars.outputs.ZIP_FILENAME }} . -x ".git*" ".github*" "README.md" "CHANGELOG.md" "update.json" 71 | 72 | echo "打包完成: ${{ steps.vars.outputs.ZIP_FILENAME }}" 73 | 74 | - name: 创建 GitHub Release 75 | uses: softprops/action-gh-release@v2 76 | with: 77 | files: ${{ steps.vars.outputs.ZIP_FILENAME }} 78 | tag_name: ${{ steps.vars.outputs.TAG_NAME }} 79 | name: ${{ steps.vars.outputs.TAG_NAME }} 80 | body: ${{ steps.changelog.outputs.log_notes }} 81 | draft: false 82 | prerelease: false 83 | env: 84 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 85 | 86 | - name: 更新并提交 update.json 87 | run: | 88 | echo "准备更新 ${{ steps.vars.outputs.UPDATE_JSON_PATH }}..." 89 | 90 | MODULE_PROP_FILE="${{ steps.vars.outputs.MODULE_PROP_PATH }}" 91 | echo "正在从 ${MODULE_PROP_FILE} 读取 versionCode..." 92 | 93 | if [ ! -f "$MODULE_PROP_FILE" ]; then 94 | echo "错误:找不到 module.prop 文件于路径: ${MODULE_PROP_FILE}" 95 | exit 1 96 | fi 97 | 98 | MODULE_VERSION_CODE=$(grep '^versionCode=' "$MODULE_PROP_FILE" | cut -d'=' -f2) 99 | 100 | if [[ -z "$MODULE_VERSION_CODE" ]] || ! [[ "$MODULE_VERSION_CODE" =~ ^[0-9]+$ ]]; then 101 | echo "错误:未能从 ${MODULE_PROP_FILE} 读取到有效的 versionCode。" 102 | exit 1 103 | else 104 | echo "从 module.prop 读取到的 versionCode: ${MODULE_VERSION_CODE}" 105 | fi 106 | 107 | if [ ! -f "${{ steps.vars.outputs.UPDATE_JSON_PATH }}" ]; then 108 | echo "警告:未找到 ${{ steps.vars.outputs.UPDATE_JSON_PATH }},将创建一个新的。" 109 | echo '{ 110 | "version": "", 111 | "versionCode": 0, 112 | "zipUrl": "", 113 | "changelog": "https://raw.githubusercontent.com/${{ steps.vars.outputs.REPO_OWNER }}/${{ steps.vars.outputs.REPO_NAME }}/${{ steps.vars.outputs.DEFAULT_BRANCH }}/${{ steps.vars.outputs.CHANGELOG_PATH }}" 114 | }' > ${{ steps.vars.outputs.UPDATE_JSON_PATH }} 115 | fi 116 | 117 | jq \ 118 | --arg version "${{ steps.vars.outputs.TAG_NAME }}" \ 119 | --argjson versionCode "$MODULE_VERSION_CODE" \ 120 | --arg zipUrl "${{ steps.vars.outputs.DOWNLOAD_URL }}" \ 121 | '.version = $version | .versionCode = $versionCode | .zipUrl = $zipUrl' \ 122 | ${{ steps.vars.outputs.UPDATE_JSON_PATH }} > tmp_update.json && mv tmp_update.json ${{ steps.vars.outputs.UPDATE_JSON_PATH }} 123 | 124 | echo "更新后的 ${{ steps.vars.outputs.UPDATE_JSON_PATH }}:" 125 | cat ${{ steps.vars.outputs.UPDATE_JSON_PATH }} 126 | 127 | echo "提交更新到 ${{ steps.vars.outputs.DEFAULT_BRANCH }} 分支..." 128 | git config --global user.name 'github-actions[bot]' 129 | git config --global user.email 'github-actions[bot]@users.noreply.github.com' 130 | 131 | git add ${{ steps.vars.outputs.UPDATE_JSON_PATH }} 132 | 133 | if git diff --staged --quiet; then 134 | echo "update.json 没有变化,无需提交。" 135 | else 136 | git commit -m "更新 ${{ steps.vars.outputs.TAG_NAME }} update.json" 137 | 138 | git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ steps.vars.outputs.REPO_OWNER }}/${{ steps.vars.outputs.REPO_NAME }}.git HEAD:${{ steps.vars.outputs.DEFAULT_BRANCH }} 139 | echo "update.json 已成功提交并推送到 ${{ steps.vars.outputs.DEFAULT_BRANCH }} 分支。" 140 | fi 141 | env: 142 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -------------------------------------------------------------------------------- /system/product/etc/device_features/marble.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | false 7 | 8 | false 9 | 10 | true 11 | 12 | false 13 | 14 | true 15 | 16 | false 17 | 18 | false 19 | 20 | false 21 | 22 | false 23 | 24 | true 25 | 26 | false 27 | 28 | true 29 | 30 | true 31 | 32 | true 33 | 34 | false 35 | 36 | qcom 37 | 38 | 100 39 | 40 | 291 41 | 42 | false 43 | 44 | true 45 | 46 | true 47 | 48 | false 49 | 50 | true 51 | 52 | true 53 | 54 | true 55 | 56 | 1 57 | 0 58 | 0 59 | 1080 60 | 1920 61 | 9 62 | 63 | i:2 64 | 65 | 921600 66 | 67 | true 68 | 69 | 1473868800000 70 | 71 | 72 | 1000 73 | 74 | false 75 | 76 | true 77 | true 78 | 79 | 80 | 81 | 21 82 | 83 | 61 84 | 85 | 86 | 87 | 18 88 | 89 | 90 | 91 | 92 | 93 | 0.857 94 | 95 | 0.860 96 | 97 | true 98 | 99 | 120 100 | 101 | 102 | 120 103 | 90 104 | 60 105 | 106 | 107 | false 108 | 109 | 1.40 110 | 111 | false 112 | 113 | 0.86 114 | 115 | 1.05 116 | 117 | 1.25 118 | 119 | 1.40 120 | 121 | false 122 | 123 | 2 124 | 125 | 1 126 | 127 | 255.0 128 | 129 | 50.0 130 | 131 | true 132 | 133 | false 134 | 135 | true 136 | 137 | true 138 | 139 | true 140 | 141 | true 142 | 143 | true 144 | 145 | false 146 | 147 | true 148 | 149 | 150 | 151 | 152 | 0 153 | 154 | 155 | ALL 156 | 157 | 158 | CN 159 | 160 | 161 | true 162 | true 163 | 164 | false 165 | false 166 | 167 | true 168 | 169 | 3 170 | 171 | 1 172 | 173 | 174 | 175 | 176 | 177 | com.xiaomi.pass 178 | com.xiaomi.scanner 179 | com.xiaomi.gamecenter 180 | com.miui.weather2 181 | com.miui.notes 182 | com.miui.compass 183 | com.miui.calculator 184 | com.android.email 185 | com.miui.cleanmaster 186 | com.mi.misupport 187 | com.duokan.reader 188 | com.mfashiongallery.emag 189 | com.miui.personalassistant 190 | com.miui.voip 191 | com.miui.yellowpage 192 | com.xiaomi.midrop 193 | com.android.midrive 194 | com.xiaomi.drivemode 195 | com.miui.smarttravel 196 | com.android.soundrecorder 197 | com.miui.screenrecorder 198 | 199 | 200 | 201 | /system/data-app/XMPass/XMPass.apk 202 | /system/data-app/MIUIScannerGlobal/MIUIScannerGlobal.apk 203 | /system/data-app/GameCenter/GameCenter.apk 204 | /system/data-app/MIUIWeatherGlobal/MIUIWeatherGlobal.apk 205 | /system/data-app/MIUINotes/MIUINotes.apk 206 | /system/data-app/MIUICompassGlobal/MIUICompassGlobal.apk 207 | /system/data-app/MIUICalculatorGlobal/MIUICalculatorGlobal.apk 208 | /system/data-app/Email/Email.apk 209 | /system/data-app/CleanMaster/CleanMaster.apk 210 | /system/data-app/MiSupport/MiSupport.apk 211 | /system/data-app/com.duokan.reader/com.duokan.reader.apk 212 | /system/data-app/MiGalleryLockscreen/MiGalleryLockscreen.apk 213 | /system/data-app/PersonalAssistant/PersonalAssistant.apk 214 | /system/data-app/MiuiVoip/MiuiVoip.apk 215 | /system/data-app/YellowPage/YellowPage.apk 216 | /system/data-app/MIDrop/MIDrop.apk 217 | /system/data-app/MiDrive/MiDrive.apk 218 | /system/data-app/MiuiDriveMode/MiuiDriveMode.apk 219 | /system/data-app/SmartTravel/SmartTravel.apk 220 | /system/data-app/MIUISoundRecorderTargetSdk30Global/MIUISoundRecorderTargetSdk30Global.apk 221 | /system/data-app/MIUIScreenRecorderLiteGlobal/MIUIScreenRecorderLiteGlobal.apk 222 | 223 | 224 | 225 | com.xiaomi.scanner 226 | com.miui.weather2 227 | com.miui.notes 228 | com.miui.compass 229 | com.miui.calculator 230 | com.xiaomi.midrop 231 | com.android.soundrecorder 232 | com.miui.screenrecorder 233 | 234 | 235 | true 236 | 237 | 238 | 239 | true 240 | 241 | 242 | 243 | 244 | true 245 | 246 | true 247 | 248 | true 249 | 250 | true 251 | 252 | false 253 | 254 | 1 255 | 256 | true 257 | 258 | false 259 | 260 | true 261 | 262 | true 263 | 264 | 265 | 266 | 267 | true 268 | 0x000011C0 269 | 270 | true 271 | 272 | false 273 | 274 | true 275 | 276 | true 277 | 278 | true 279 | true 280 | 281 | true 282 | 283 | false 284 | 285 | false 286 | 287 | false 288 | 289 | 290 | 291 | 292 | true 293 | 294 | true 295 | 296 | true 297 | 298 | 91.0 299 | 300 | 18 301 | 302 | 0 303 | 304 | 35 305 | 306 | true 307 | 308 | 309 | 310 | true 311 | 312 | 313 | 60 314 | 20 315 | 50 316 | 75 317 | 100 318 | 100 319 | 320 | 321 | 322 | 0 323 | 0 324 | 0 325 | 5 326 | 5 327 | 328 | 329 | 330 | 180 331 | 400 332 | 280 333 | 280 334 | 150 335 | 300 336 | 250 337 | 400 338 | 180 339 | 400 340 | 341 | 342 | 343 | 12 344 | 96 345 | 346 | 347 | false 348 | 349 | true 350 | 351 | true 352 | 353 | 0 354 | 355 | 0 356 | 357 | 3 358 | 359 | 255 360 | 361 | 50 362 | 363 | 255 364 | 365 | 0 366 | 367 | -180 368 | 369 | 180 370 | 371 | 0 372 | 373 | -50 374 | 375 | 50 376 | 377 | 0 378 | 379 | -255 380 | 381 | 255 382 | 383 | 0 384 | 385 | -100 386 | 387 | 100 388 | 389 | 220 390 | 391 | 170 392 | 393 | 270 394 | 395 | true 396 | 60 397 | 398 | true 399 | 400 | true 401 | 402 | true 403 | 404 | 7 405 | 406 | true 407 | 408 | true 409 | 410 | false 411 | 412 | false 413 | 414 | true 415 | 416 | 417 | 270 418 | 419 | 267 420 | 421 | 1170 422 | 423 | 2933 424 | 425 | 3200 426 | 427 | true 428 | 429 | true 430 | 431 | 432 | 433 | 434 | 5000 435 | 436 | 437 | 438 | 439 | true 440 | 441 | true 442 | 443 | false 444 | 445 | true 446 | 447 | 448 | 449 | 450 | true 451 | 452 | true 453 | 454 | 455 | 456 | 457 | true 458 | 459 | true 460 | 461 | false 462 | 463 | true 464 | 465 | 466 | 467 | 468 | true 469 | 470 | true 471 | 472 | true 473 | 474 | false 475 | 476 | true 477 | 478 | true 479 | 480 | true 481 | 482 | true 483 | 484 | true 485 | 486 | true 487 | 488 | false 489 | 490 | false 491 | 492 | true 493 | 494 | 495 | org.codeaurora.snapcam 496 | com.android.camera 497 | com.miui.cit 498 | com.qualcomm.qti.qmmi 499 | com.android.keyguard 500 | com.android.systemui 501 | com.phonetest.application 502 | com.phonetest.application.test 503 | com.ss.android.ugc.aweme 504 | com.xiaomi.cameratest 505 | com.xiaomi.cameratools 506 | com.blink.academy.protake 507 | com.xiaomi.camera.mivi 508 | com.xiaomi.camera.sample 509 | com.smile.gifmaker 510 | com.snapchat.android 511 | 512 | 513 | 514 | com.blink.academy.protake 515 | com.xiaomi.camera.mivi 516 | com.xiaomi.camera.sample 517 | com.smile.gifmaker 518 | com.snapchat.android 519 | 520 | 521 | 522 | 523 | com.antutu:0, ssize, 9248, 6944;1, ssize, 4608, 3456 524 | 525 | 526 | 2 527 | 528 | 12.0 529 | 530 | -0.5573 531 | 532 | 11 533 | 534 | false 535 | 536 | 14 537 | 538 | true 539 | 540 | true 541 | 542 | true 543 | 544 | true 545 | 546 | true 547 | 548 | true 549 | 550 | true 551 | 552 | true 553 | 554 | true 555 | 556 | false 557 | 558 | true 559 | 560 | false 561 | 562 | true 563 | 564 | true 565 | 566 | true 567 | 568 | true 569 | 570 | true 571 | 572 | true 573 | 574 | true 575 | 576 | true 577 | 578 | true 579 | 580 | true 581 | 582 | true 583 | 584 | true 585 | 586 | true 587 | 588 | true 589 | 590 | true 591 | 592 | true 593 | 594 | false 595 | 596 | true 597 | 598 | false 599 | 600 | true 601 | 602 | false 603 | 604 | true 605 | 606 | true 607 | 608 | false 609 | false 610 | 611 | false 612 | 613 | 614 | 615 | 616 | true 617 | 618 | false 619 | 620 | 621 | 622 | false 623 | 624 | 625 | uinput-fpc 626 | uinput-goodix 627 | 628 | 629 | true 630 | false 631 | 632 | true 633 | 634 | 635 | 636 | 637 | true 638 | 639 | true 640 | true 641 | 642 | 643 | 644 | 645 | true 646 | 647 | true 648 | 649 | 650 | 651 | 652 | false 653 | 654 | 655 | 656 | 657 | false 658 | 659 | true 660 | 661 | false 662 | 663 | 664 | 665 | 666 | true 667 | 668 | false 669 | 670 | true 671 | 672 | false 673 | 674 | false 675 | 676 | true 677 | 678 | false 679 | 680 | false 681 | 682 | true 683 | 684 | true 685 | 686 | true 687 | 688 | true 689 | 690 | true 691 | 692 | false 693 | 694 | false 695 | 696 | true 697 | 698 | true 699 | 700 | true 701 | 702 | true 703 | 704 | true 705 | 706 | true 707 | $ 708 | true 709 | 710 | Xiaomi-umi 711 | 712 | 44 713 | 9 714 | true 715 | 716 | true 717 | 718 | true 719 | 720 | true 721 | 722 | 3 723 | 724 | true 725 | 726 | true 727 | 728 | true 729 | 730 | true 731 | 732 | true 733 | 734 | false 735 | 736 | true 737 | 738 | false 739 | 740 | true 741 | 742 | 743 | 744 | true 745 | 746 | 747 | 748 | true 749 | 750 | 751 | 752 | true 753 | 754 | 755 | true 756 | 757 | 758 | true 759 | true 760 | true 761 | 8550 762 | true 763 | true 764 | true 765 | 2 766 | true 767 | 768 | 769 | 770 | true 771 | 772 | 773 | /system 774 | /system_ext 775 | /product 776 | /vendor 777 | /odm 778 | /vendor_dlkm 779 | /mi_ext 780 | 781 | 782 | rescue 783 | oops 784 | minidump 785 | rawdump 786 | crash_history 787 | expdb 788 | 789 | /dev/block/by-name/ 790 | 791 | 792 | true 793 | 794 | 795 | 796 | 797 | true 798 | 799 | true 800 | true 801 | 802 | 2 803 | 804 | true 805 | 806 | 3 807 | 808 | true 809 | 810 | true 811 | 812 | true 813 | 814 | 815 | 816 | 817 | --------------------------------------------------------------------------------