Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Android leases over HTTP give no adb serial: udid is the AVD name

オープン 初心者向け
#817 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
android, typescript
領域
api, backend

調査の方向性

src/http/tracker.tsの71行目付近と、src/contract/schemas.tsの211行目および272行目付近にあるデバイススキーマを読み、leaseレスポンスとCLIのdevice.address出力を比較してください。Androidドライバーの918行目および948行目付近のフィールドを確認し、シリアル番号の取得元を確かめてください。HTTP leaseオブジェクトがAndroidのadbシリアル番号を含むデバイスアドレスを公開し、レスポンス契約にも反映されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug:new
What happened

A lease granted over the HTTP API gives no way to reach an Android emulator with adb. The lease object's udid is the device's driver id (device.driverDeviceId, src/http/tracker.ts:71). For an Android emulator that is the AVD name (simlock_<uuid>), not the adb serial (emulator-5554) that adb -s needs. No HTTP response carries the serial: the lease object has no address field, although the contract's device record has one (src/contract/schemas.ts:211,272) and the CLI's lease line includes device.address.

So a remote agent that leases an Android device over HTTP cannot run adb -s <serial> … through POST /v1/leases/{id}/exec without first running adb devices and then adb -s <serial> emu avd name on each serial to find its own. iOS is not affected, because a simulator's driver id and its address are both the UDID.

What you expected

The HTTP lease object names the address to point tools at (the adb serial on Android, the UDID on iOS), the same value the CLI prints as device.address.

How to reproduce
  1. On a worker with Android set up and HTTP on, create an agent token: simlock token create --role agent.
  2. curl -X POST http://127.0.0.1:4701/v1/lease-requests -H "Authorization: Bearer <secret>" -H 'Content-Type: application/json' -d '{"platform":"android","model":"Pixel 8"}', then wait until the request is granted.
  3. Look at the lease object: udid is simlock_…, and no field holds emulator-5554.
  4. Compare simlock lease --platform android --device "Pixel 8" --detach, whose device.address is the serial.
Environment

main at 4cc44f82. Found while writing the website's "Remote agents over HTTP" page (PR #816), which documents the adb devices workaround.

Logs and evidence
  • src/http/tracker.ts:71: udid: device.driverDeviceId
  • src/drivers/android/index.ts:948: a running emulator's address is running.serial; :918: its deviceId is the AVD name.

Written by an agent.

主要言語
TypeScript
スター
20
フォーク
2
平均マージ
8時間
マージ済み PR(30日)
316

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

callstackincubator/simlock のほかの issue

callstackincubator/simlock の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。