Infinito Nirone 7

白羽の矢を刺すスタイル

自宅に STF (Smartphone Test Farm) を立てて検証端末を管理する

コロナ禍のなかで検証用の Android 端末をどう調達・管理するのかという話題を DroidKaigi.fm #4 でしてきました。その会話の中で、自分の場合は検証端末を全部自宅に持っていて、STF を使ってつないでいるという話をしたのでそのあたりを少し掘り下げてみようと思います。

STF とは

Smartphone Test Farm という OSS ソフトウェアで、これをつかうことで Web ブラウザから STF サーバにつながっている Android 端末を操作できるようになります。adb による接続もできるので、端末を自分の PC に USB ケーブルでつなぐことなくアプリのデバッグが可能です。

github.com

本来は社内ネットワーク内などで STF サーバを立てておき、社内から誰でもブラウザで端末を使えるようにするようなユースケースで使うものですが、自分の場合は自分で会社の検証端末の管理もすることになったので、半ばファイルサーバにしかなっていなかった Mac mini に STF サーバを立て、これを中心に検証端末の管理をしつつ、いつでも使いたい端末をケーブルの抜き差しの手間なく使えるようにしました。

STF を立てる

STF の README にある通りの手順で STF サーバを立てます。事前に Requirements にあるものを準備しておきますが、Node.js が 8.x であることに注意する (これより新しいバージョンでは動かないものがあるよう) 以外は、Installation の手順通りでよいはずです。

検証端末を STF サーバに接続する

開発者オプションの USB デバッグが ON になっていれば、USB ケーブルで STF サーバにつなぐだけで STF が自動で端末を認識してブラウザから使えるようにしてくれます。

一方で、端末を管理するうえで問題になるのは、端末を繋ぎっぱなしにしておくとバッテリーの寿命が早まってしまうことです。とくに検証端末はいつでも使えるようにしておきたいので、STF サーバに繋ぎっぱなしにしておきたいところですが、そうするとずっと充電状態となってしまいます。USB ハブのなかには、電源タップのように ON/OFF スイッチのついたものがあり、これをつかって適度に ON/OFF を切り替えてできる限りバッテリーに負担のないようにしたいところですが、USB の口すべてにスイッチが付いているのは面倒です。そこで自宅ではできる限りたくさん USB の口を確保しつつ、ON/OFF スイッチは1つで全体をコントロールするものとしてこの USB ハブを使っています。

検証端末の保管場所をつくる

1台や2台程度ならどうということもないですが、5台以上になってくると、そのへんに積んでおくわけにはいかなくなってきます。今回は東急ハンズで仕入れた木材を適当に加工して簡単なスマホラックを作りました。

ひとつのラックで3台ほど格納できるように木材をあわせます。下からケーブルを通して差し込めるようにしてあります。

f:id:KeithYokoma:20201120184530j:plain

これを4個並べて運用しています。

f:id:KeithYokoma:20201120184541j:plain