Skip to content

r14.5.0

Choose a tag to compare

@tomthenpc tomthenpc released this 24 Jul 13:12

r14.5.0

发布日期:2026-07-24。状态:稳定版,构建产物通过 assembleRelease,完整重启后日志中无模块相关 AndroidRuntime/FATAL/am_crash/am_anr

包名与工程结构迁移

  • Java 源码目录从 name/monwf/customiuizer 整体迁移到 tv/withaibuild/customiuizer
  • 所有 Java package/import、XML 组件 android:name、Preference 屏幕 class、Shortcuts targetClass/targetPackage、Tasker 组件、proguard-rules.pro 的 keep 规则统一替换为 tv.withaibuild.customiuizer
  • app/build.gradlenamespaceapplicationId 同步改为 tv.withaibuild.customiuizer / tv.withaibuild.customiuizer.r14versionCode 150 / versionName r14.5.0。
  • META-INF/xposed/java_init.list 入口类改为 tv.withaibuild.customiuizer.MainModule

A 类静态清理

  • AboutFragmentSystem.javaSystemUI.javaSeekBarPreferenceColorSelector 中的 String.format(Locale.getDefault(), ...) / 无 Locale String.format(...) 统一指定 Locale.US,避免默认 locale 影响数值格式。
  • AppDataAdapterLockedAppAdapterModSearchAdapterPrivacyAppAdapterResolveInfoAdapterSortableListString.toLowerCase() 统一指定 Locale.ROOT,保证过滤比较不受 locale 大小写规则影响。
  • MainActivity 重置设置弹窗中的 SharedPreferences.commit() 改为 apply(),避免阻塞 UI 线程。
  • GlobalActionsVariousBTListWiFiListnew Handler() 改为 new Handler(Looper.getMainLooper()),防止在无线程 Looper 的 Hook/后台线程上创建 Handler。

B 类生命周期加固

  • ControlsGlobalActionsLauncherSystemVariousWiFiList 中缺少导出标志的 registerReceiver(..., IntentFilter) 调用统一补全 Context.RECEIVER_EXPORTED / Context.RECEIVER_NOT_EXPORTED
  • 系统广播(SCREEN_ONTIME_SETTIME_TICKTIMEZONE_CHANGEDLOCALE_CHANGEDWifiManagerBATTERY_CHANGED sticky)使用 RECEIVER_NOT_EXPORTED
  • 模块自定义动作广播(GlobalActions 自定义 ACTION_PREFIX 事件、FETCHAPPCONFIGPUSHAPPCONFIG)使用 RECEIVER_EXPORTED
  • 不影响已带 RECEIVER_* 标志的现有注册点。

C 类性能缓存

  • Helpers.java 新增线程安全的 getResId(Resources, name, defType, defPackage) 缓存,使用 ConcurrentHashMap 缓存 Resources.getIdentifier() 结果。
  • System.javaSystemUI.java 中高频 getResources().getIdentifier(...) / res.getIdentifier(...) 调用全部收敛到 Helpers.getResId(),减少 SystemUI/设置进程初始化与状态栏刷新热路径上的重复资源 ID 查找。
  • 缓存键包含包名、资源类型与资源名,命中时直接返回缓存整型 ID;参数任一为空时返回 0,避免无效调用。

构建产物验证

  • versionCode 150 / versionName r14.5.0。
  • APK:CustoMIUIzer-A14-r14.5.0.apk,2,886,373 bytes,SHA-256: DCB9EBC4BBE7AEE721B58F83B5371E1030AD7CAB0C4FE6CC4EAD900C420E8C93
  • 通过 gradlew assembleReleaselintVitalRelease 0 错误,既有 ROM API 兼容性警告保持。
  • 签名证书与 r14.3.1 一致,包名不同不能覆盖安装旧包名版本,需先卸载旧模块并重新启用作用域。

实机验证

  • LSPosed_2026-07-24T21_24_25.003081 完整重启后,VectorModuleService 已向 tv.withaibuild.customiuizer.r14 发送模块 binder,日志中无模块相关 AndroidRuntime/FATAL/am_crash/am_anr
  • SystemUI、Launcher、Settings 等目标进程无 CustoMIUIzer 引发的崩溃、ANR 或异常栈。