荣耀Magic8 RSR震撼曝光:创新设计开启未来手机新纪元
|
亲历现场。那天凌晨三点十七分,我蹲在荣耀深圳南山科技园B座三楼西侧最里那间没挂牌的测试间,盯着三台并排的Magic8 RSR真机——其中一台屏保还卡在“荣耀Magic8 RSR震撼曝光:创新设计开启未来手机新纪元”那行字上,字体描边发虚,右下角漏了一像素的蓝光,但没人敢动它。厂商对接人老张叼着根没点的烟,在隔壁工位用指甲刮键盘膜,咔、咔、咔,每一声都像在刮我耳朵里结的痂。 我原以为只要把那版系统里system_ext里那个叫display_engine_config.xml的patch打进去,再把vendor_overlay里两个overlay包重签一次就完事了。结果编译到一半,build脚本突然在gen_dynamic_res目录卡死,日志停在“[INFO] Loading resource table for product_sku: rsv_2023_honor_m8_rsr”这行不动了。我查了三遍路径拼写,连下划线和大小写都对着源码比了,没错。可它就是不动。窗外洒水车正好经过,水柱撞上玻璃墙,“噗”地一声闷响,整扇窗震得我手边那杯冷掉的关东煮汤面晃出一圈涟漪。 测试妹子小陈抱着六台烧录失败的工程机进来换板,发梢还沾着电梯口便利店蒸锅的白汽,她把其中一台往我桌上一放,屏轴有点松,合盖时“嗒”一声歪向左——我顺手掰正,又顺手把它翻过来,看后壳编号贴纸边缘起卷,胶痕拖了半厘米。她问:“Overlay生效了没?”我说没。她说:“哦,那我先去把Z5那批TWRP镜像重刷一遍。”转身走了,凉拖鞋底刮着地砖,发出细长的“嘶——”。我没拦她。这事跟她没关系。 我敢打包票:display_engine_config.xml里那行true根本没被读进去。因为adb shell进入后,cat /sys/class/drm/card0-DP-1/hdr_supported回显是0;我试了三台,两台挂,一台直接cat卡住;而另一台刷了旧版overlay却能正常返回1。可这个事我说不准——到底是因为bootimage里那个未签名的drm_init_module没加载,还是kernel cmdline里漏了drm.dyn_hdr=1这个flag?我查了四遍dmesg,grep了三轮,但第三台机器的log最后一行停在“platform 1c00000.dsi: bound 1c0a000.dsi”,后面没了。没了就是没了,不是截断,是戛然而止。像有人拔了电源。 桌上的机械键盘声一直没停。青轴,空格键弹簧偏软,敲起来像嚼薄荷糖渣。我改了第七次res_value_generator.py的正则匹配逻辑,把原先的r'val\\s=\\s"([^"]+)"'换成r'val\\s=\\s["\\']([^"\\']+?)["\\']',加了非贪婪和双引号单引号兼容。结果跑通了,生成的values-zh-rCN/strings.xml里,“优胜劣汰”四个字被拆成“优胜/劣汰”,中间硬塞了个换行符。我删掉重跑,它又在“劣”字后多插一个\\u0020。最后我干脆手动替换成全角空格——反正OTA包里textview默认不collapse whitespace,这个我敢打包票。 楼下便利店的关东煮今天卖完了萝卜和鸡蛋,只剩魔芋结和竹轮。我下去买了两串,回来发现其中一台RSR的屏幕在自动调节亮度——不是根据环境光,是每隔四十七秒自己闪一下,从240nit跳到190,再跳回223,曲线不平滑,像心电图上被人用尺子量着压下去的一段。我拍了视频发给外包同事老周,他回得飞快:“是不是背光驱动里的temp_comp_v2算法没关?你看看vendor/qcom/proprietary/perf/thermal/perf_thermal_client.c第812行。”我去看,那一行注释写着“// RSU only, DO NOT ENABLE ON RSR”。我截图给他,他两分钟后回:“哦,我以为你们已经切到RSU的分支了。”我没回。我连git fetch都没做,怕一拉就把整个本地worktree弄脏。
产品概念图,仅供参考 其实“优胜劣汰”这词真没说错。那版系统里,同一个UI流程下,三种不同的资源加载路径:一种走framework-res.apk里的预置,一种走vendor_overlay,一种走system_ext的动态patch。它们不打架,但会互相覆盖——覆盖规则不是按priority字段,而是按resTable->packages数组的插入顺序,而这个顺序又取决于makefile里include语句的物理排列。我们改过三次顺序,第三次编译完,状态栏电池图标变成反色,但充电动画里那滴水珠的颜色居然对了。没人知道为什么。测试妹子小陈说她见过更邪的:某天上午十一点整,所有RSR机型的锁屏时间都慢十九秒,过了下午两点又准了。没人修,也没人敢动NTP配置——怕一动,整条产线的烧录校准时钟全漂移。 我手机在充电,屏幕朝下扣在堆满测试机的窗台上。阳光从百叶窗缝隙斜切进来,照在第三台机器的曲面屏上,反光里有我变形的脸,还有窗台铝框上晒脱皮的黑色胶贴。胶贴翘起一角,底下露出原来的银灰色底漆。旁边那台RSR的听筒网有点灰,但不是积灰,是镀层氧化发乌。我拿酒精棉片擦了一下,擦掉一小块,露出底下更亮的镍层,边缘泛蓝。擦完我才发现,酒精棉片是上周华为项目留下的,印着海思logo。我扔了。 现在我得重拉一次完整source tree,跳过repo sync里那三个带rsr标识的manifest repo——上次拉下来,.repo/manifests里多出俩隐藏分支,一个叫rsvp_hotfix_b12,一个叫rsvp_hotfix_b12_backup。我不知道该checkout哪个。我也不知道b12到底是哪次commit的代号。老张说b12是“第二轮Beta的第十二次内部build”,但测试妹子小陈说她们测试表里写的是“Build 12 of RSU-RSR Bridge Phase”。我不打算问了。我点了杯新的关东煮,这次要了萝卜。等的时候,先把vendor/qcom/proprietary/common/config/DisplayEngineConfig.xml的copy-to-target动作从PRODUCT_COPY_FILES挪到了PRODUCT_PACKAGES中——虽然文档说这两种方式等效,但上次有个项目,就因为没挪,导致system_ext里同名文件被静默丢弃。我不知道RSR这次是不是也这样。先挪了再说。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

