r14.5.0
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、ShortcutstargetClass/targetPackage、Tasker 组件、proguard-rules.pro的 keep 规则统一替换为tv.withaibuild.customiuizer。 app/build.gradle:namespace与applicationId同步改为tv.withaibuild.customiuizer/tv.withaibuild.customiuizer.r14;versionCode150 /versionNamer14.5.0。META-INF/xposed/java_init.list入口类改为tv.withaibuild.customiuizer.MainModule。
A 类静态清理
AboutFragment、System.java、SystemUI.java、SeekBarPreference、ColorSelector中的String.format(Locale.getDefault(), ...)/ 无 LocaleString.format(...)统一指定Locale.US,避免默认 locale 影响数值格式。AppDataAdapter、LockedAppAdapter、ModSearchAdapter、PrivacyAppAdapter、ResolveInfoAdapter、SortableList的String.toLowerCase()统一指定Locale.ROOT,保证过滤比较不受 locale 大小写规则影响。MainActivity重置设置弹窗中的SharedPreferences.commit()改为apply(),避免阻塞 UI 线程。GlobalActions、Various、BTList、WiFiList的new Handler()改为new Handler(Looper.getMainLooper()),防止在无线程 Looper 的 Hook/后台线程上创建 Handler。
B 类生命周期加固
Controls、GlobalActions、Launcher、System、Various、WiFiList中缺少导出标志的registerReceiver(..., IntentFilter)调用统一补全Context.RECEIVER_EXPORTED/Context.RECEIVER_NOT_EXPORTED。- 系统广播(
SCREEN_ON、TIME_SET、TIME_TICK、TIMEZONE_CHANGED、LOCALE_CHANGED、WifiManager、BATTERY_CHANGEDsticky)使用RECEIVER_NOT_EXPORTED。 - 模块自定义动作广播(
GlobalActions自定义ACTION_PREFIX事件、FETCHAPPCONFIG、PUSHAPPCONFIG)使用RECEIVER_EXPORTED。 - 不影响已带
RECEIVER_*标志的现有注册点。
C 类性能缓存
Helpers.java新增线程安全的getResId(Resources, name, defType, defPackage)缓存,使用ConcurrentHashMap缓存Resources.getIdentifier()结果。System.java与SystemUI.java中高频getResources().getIdentifier(...)/res.getIdentifier(...)调用全部收敛到Helpers.getResId(),减少 SystemUI/设置进程初始化与状态栏刷新热路径上的重复资源 ID 查找。- 缓存键包含包名、资源类型与资源名,命中时直接返回缓存整型 ID;参数任一为空时返回 0,避免无效调用。
构建产物验证
versionCode150 /versionNamer14.5.0。- APK:
CustoMIUIzer-A14-r14.5.0.apk,2,886,373 bytes,SHA-256:DCB9EBC4BBE7AEE721B58F83B5371E1030AD7CAB0C4FE6CC4EAD900C420E8C93。 - 通过
gradlew assembleRelease;lintVitalRelease0 错误,既有 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 或异常栈。