荣耀Magic8 RSR惊艳亮相:科技与美学的巅峰融合
|
亲历现场。那会儿我在荣耀园区C栋307,玻璃门上还贴着“RSR适配攻坚组”的即时贴,胶已经卷边了。测试机堆在窗台——七台Magic8 RSR,全晒着,屏幕反光刺眼,下午三点二十一分,第三台开始发烫,壳子摸着像刚出锅的铁板烧,我顺手把它翻过来扣在散热架上,硅胶垫被压出个浅浅的印,到现在还在那儿。 厂商对接人老周推门进来时,手里捏着打印纸,没装订,页角都毛了。他念那句Slogan,“荣耀Magic8 RSR惊艳亮相:科技与美学的巅峰融合”,语速跟读招标文件似的。我正抓着ADB log扫第十八秒的ANR堆栈,头都没抬,说:“这话放发布会可以,放system_server启动流程里就是事故。”他顿了顿,把纸折了两下,塞进工牌夹层,说:“你先过掉Launcher3冷启耗时。”我点头,手没停——编译刚卡在desugar,后台挂着gradle daemon,CPU占着97%,风扇声跟楼下便利店煮关东煮的咕嘟声一个节奏,三秒一喘,七秒一沸。 我原以为是ART优化策略又抽风,结果查trace发现根本没走到Zygote fork那步——SystemUI一启动就触发了SurfaceFlinger的BufferQueue重置风暴,六台设备同时丢帧,第七台倒没事,它连HWC都懒得走,直接fallback到CPU compositor。这玩意儿根本不是“融合”,是拿掉一块板子,让剩下五块自己咬合。优胜劣汰?对,淘汰的是所有没预埋vendor hook的旧Service,连NotificationShade的折叠逻辑都被砍了,改成靠WindowManagerPolicy硬顶。这个我敢打包票,我亲眼看见测试妹子小林把那行onFoldStateChanged()注释掉了,她敲回车前还转头问我:“真不报Jira?”我没接话,她就把整段删了,连git add都没加。
产品概念图,仅供参考 桌上机械键盘咔哒咔哒响,青轴,打字声很碎,每按一次shift都带点弹簧余震。我盯着Logcat里重复刷出的“Failed to bind service: com.honor.xxx.sensorservice — permission denied”,权限明明开着,SELinux policy也签过了,结果最后发现是/vendor/etc/sensors/hardware.conf里少了一行vendor_id_map,就一行,空格缩进多了两个。这事儿我说不准,因为隔壁华为外包兄弟说他们那版系统也遇到过,但他们是改hal层绕过去的。我们没hal,只有stub。所以我们就只能等,等厂商给新conf包,等它通过TDD签名校验,等它被push进userdebug镜像……可我们没userdebug镜像。只有user。这个我说不准。 窗外洒水车经过,喇叭声是“滴滴——滴——滴滴”,节奏错乱,像没调准的UART波特率。我数了三遍,确认它真没重样。洒水头转到第二圈时,编译终于过完,APK生成,install失败。adb: failed to install: INSTALL_FAILED_NO_MATCHING_ABIS。我愣了半秒才想起来——RSR主芯片换成了那个…那个带RISC-V协处理器的定制SoC,而我们所有jniLibs只打了arm64-v8a和x86_64,漏了riscv64-unknown-elf。这个我不该忘。去年Mate50系列就栽过,当时还是我手动补的ABI filter,写了三百七十二行gradle脚本做条件编译。现在倒好,全自动CI pipeline,自动过滤掉了所有riscv64相关的so——自动得像AI写的规则:没见过的架构,就当不存在。 小林端着关东煮上来,萝卜沉底,海带浮着,汤面油花裂成不规则多边形。她搁桌上,没说话,拿牙签戳了下魔芋结,戳穿了。老周站在门口看表,手腕翻转,金属表带反光晃了一下我眼睛。我忽然想起上周五,OPPO那边发来一封抄送邮件,标题写着“关于ColorOS 14.2.1对折叠屏双开兼容性的临时豁免说明”,底下附件是三个PDF,其中第二个第十七页有个脚注:“若目标机型未实现DisplayId API完整回调,请在ActivityTaskManager初始化阶段注入mock DisplayDevice”。我点了下载,但没点开。因为我知道,RSR那版系统根本不认DisplayId,它只认DisplayToken——token是byte[],长度固定十六,base64编码后刚好二十二位。这事儿我没告诉老周,也没写进buglist。没必要。反正下周三之前,只要Launcher能亮,状态栏能显示时间,通知能弹出来,其它都是“体验优化项”。 我切回Android Studio,删掉刚才加的riscv64 filter,重跑assembleRelease。build.gradle里那一串abiFilters还是空的,我就留着。等它跑,等它fail,等它重试。电脑右下角时间跳到17:43:02,窗外夕阳照在最左边那台RSR的曲面屏上,反光里能看到我自己——眯着眼,头发乱,耳机线缠在左手小指上解不开。我扯了扯,没动。楼下便利店广播开始放“关店提醒”,女声温和:“亲爱的顾客,本店将在十五分钟后结束营业。”我记住了这个时间,但没记为什么。 其实今天早上十点,我本来该去高通上海做一次cross-silicon调试联调,车票都打印好了,放在打印机旁边,A4纸,上面有我的名字、日期、航班号MU5318。后来取消了,因为RSR的display hal在qcom msm8998平台上挂了,但我们连msm8998都没拿到,厂商说“只提供实测环境”,意思是:你拿真机来,我们给你插USB线,不给你看kernel config。所以我把车票撕了,撕成四条,扔进废纸篓。废纸篓现在满了,最上面压着一张从测试机里拆下来的SIM卡托盘,银色,有点划痕,是昨天小林换卡时掉的。我没捡。 这句“科技与美学的巅峰融合”,我现在看着都想笑。融合?它连SystemUI和Settings里的字体大小缩放比例都不统一——Settings里设为125%,状态栏字体变大了,但通知卡片里的时间还是100%。没人报,因为默认值都是100%。所以没人觉得这是问题。我截过图,存桌面文件夹叫“RSR-font-mismatch”,里面一共十九张,最新一张时间戳是14:28:47,拍完我就删了缓存,因为怕同步到公司NAS上被QA抓包。但删完我又后悔了,又恢复了回收站里那张——就一张,没别的。这张现在还在,文件名没改,后面缀着“.jpeg (1)”,括号里那个1是我手抖多按了一次回车。 先不管了。我重新clean,rebuild,等编译结束之后,准备再试一次install——这次不推full apk,只推split apk里那个base-master.apk,看看能不能骗过PackageManager。要是还不行……我就给老周发消息:“建议明天上午十点,带三台RSR去B座二楼暗室,我们手动patch system.img里的vendor_dlkm模块。”他知道暗室在哪。那屋子没窗户,门锁坏过两次,最后一次修好是上周二,维修单编号我还记得,但不重要。我现在只想知道,那个riscv64的libsurfaceflinger.so,到底有没有在vendor镜像里藏着,还是根本就没编进去。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

