第5篇:141MB的巨型App,和一场三方通话首测三秒钟背景我们在做"打完电话自动生成AI复盘报告"的App。通话功能原来用"声网",现在要整体换成腾讯的TRTC+TUICallKit(第4集已经调研好方案、破解了依赖404)。这一集:动手换 + 真机测。好,开始。TASK-013:删旧代码,换新引擎换引擎的第一步是拆掉旧的。编程AI动刀,删掉/废弃了一堆文件:AgoraManager.kt—— 声网的总管理类(废弃,不再用)CallActivity、CallingActivity、IncomingCallActivity —— 三个自己写的通话界面(删除)声网的依赖和配置文件(清除)然后装上新的:项目配置里,把TUICallKit(腾讯通话引擎)接进来App启动代码里,把"初始化声网"换成"初始化TUICallKit"通话状态管理类(CallStateManager)里的声网引用全部摘掉这里有个小坑:删掉三个通话界面时,得确认项目"点名册"(AndroidManifest.xml,里面登记了App有哪些界面)里也删干净,不然App启动时会去找一个不存在的界面,直接崩溃。就像公司裁员,光让人走不够,还得把工牌收回来、门禁删掉,不然他刷卡进来就出事了。改完之后,编译通过。TASK-014:真机首测——第一次打电话,报错-3301代码改完,轮到终端AI表演了:把App装到三台设备上(OPPO手机、华为平板、安卓模拟器),开始测试。先看体积:APK 141MB。什么概念?正常App二三十MB。141MB是因为里面塞了腾讯TRTC的完整音视频引擎(声网时代的"瘦子"回不去了)。这算换引擎的代价之一——不过对我们这种工具类App来说,能接受。装机的时候还折腾了一下环境:模拟器的存储路径要从C盘挪到D盘(C盘满了),Java环境变量要指到Android Studio自带的版本——这些都是"环境配置"的琐碎事,终端AI三下五除二搞定。重装完毕,登录、联系人,都正常。然后——打第一通电话。报错:-3301。-3301是什么?查了一下:TRTC服务未开通。什么意思呢?就像你办了腾讯的视频会员(聊天服务),但没开通腾讯的"电话服务"——这是两个独立的产品,要分别开通。我们一直以为聊天能用、通话就能用,结果发现是两码事。好在开通很简单:去腾讯云控制台,点几下,开通了7天免费试用。再打电话——通了!然后进行重头戏:三方通话测试。三方通话的完整流程(这才是重点)测试场景:OPPO手机(小明)给华为平板(小红)和模拟器(小刚)发起群通话。完整流程是这样的:选人弹窗:小明点群通话,弹出一个窗口,勾选要邀请的人(小红、小刚)三方来电:小红、小刚的手机同时响起来电接听:两人都接听,三方通话建立中途挂断测试:小红先挂断——小明和小刚的通话不受影响,继续聊最后一人挂断:小刚也挂断——通话自动结束全部通过!这意味着一件事:从"一对一"到"多人通话",我们终于跨过去了。而这一切的前提,是第1集里那个"底层有代码但界面没入口"的问题——现在有了现成的选人弹窗,入口有了,群通话天然就通了。(这也印证了第2集的判断:用现成的TUICallKit,省了我们自己写选人弹窗、来电界面、通话界面——这些都是腾讯做好了的。)TASK-015:删掉我们自己加的那个按钮前面第4集说过:我们之前自己加了一个"语音通话"小按钮。现在TUICallKit自带的通话按钮已经上线(藏在聊天框"+"号菜单里),我们的按钮就纯属多余了——两个按钮功能一样,还影响界面美观。编程AI把它删了,一共删了3处代码(界面的、逻辑的、注册的),聊天输入栏恢复成TUIKit的原生样式。重复功能要果断删——这是我这次学到的。留着不用,纯粹是给自己添乱。事大白话教训App变成141MB塞了完整音视频引擎换引擎的代价,能接受就行首通报错-3301聊天服务≠通话服务同一个平台的不同产品要分别开通三方通话全流程通过选人→来电→挂断互不影响用现成方案,群通话难题迎刃而解删掉重复按钮多余的东西果断扔重复功能是负债,不是资产到这一集为止,我们的App已经实现了:登录、加好友、一对一通话、群通话、聊天、联系人——一个能用的通话App成型了。但你可能会问:说好的"AI复盘报告"呢?到目前为止,我们光把"打电话"这件事做好了,AI分析一个字都还没实现。别急,下一集开始,我们进入整个项目最硬核的部分:怎么让App"听到"通话的声音,然后把声音变成文字、变成分析、变成报告。而第一步,就撞上了一个"看起来能用、其实根本不能用"的陷阱。下期预告(第6篇,TASK-016~018):《"看起来能用"的陷阱——AI字幕方案大翻车》。我们本来想用腾讯自带的"实时字幕"功能偷个懒,结果发现:代码里明明有,服务端根本没开通——客户端有代码≠服务端有功能。这个坑让我们白忙了两天,最后只能另辟蹊径:自己抓取原始音频。