遠くのビルドサーバでビルドしたapkを手元のPCにつないだスマホにadb pushしよう

最近はやりのAndroidですが、ICS以降、ビルドの要件がめっちゃ高くなりました。
早い話が、CPU、メモリが潤沢にあるPCでしかビルドできません。

ビルドサーバを用意して、手元のノートPCで細かいデバッグをやる、というのがよくあるスタイルですが、
ソースをアップして成果物をSFTPでダウンロードして・・・ というのも面倒ですよね。

ようするに、ビルドサーバーのコンソールで作業していて、その流れでadb push hoge.apk /system/app/ ってやったら、手元のスマホにpushされるようにしたいんですね。
(SSHFSを使うっていう裏技もありますが、これじゃあWindowsでは使えません)


とりあえず手元のMacbookAirにGalaxyNexusつないで、ビルドサーバとはSSH接続、ってのを仮定してすすめます。
その3ステップ

1. MacbookAirで
adb devices
これでMacbookAir:5037=>GalaxyNexus:5037というルートができます。

2. MacbookAirからビルドサーバへログイン
ssh build.server.hoge.jp -R 5037:localhost:5037

これでビルドサーバ:5037=> MacbookAir:5037というルートができます。


3. SSHでログインしたシェルで
adb devices
これで、MacBookAir側のGalaxyNexusが出てきますね。はい。完了です。
あとはadb push なりなんなり。

adb logcatとかもできますが、ネットワーク越しにログがぜーんぶ流れることになるので、logcatはMacBookAirローカルでやりましょう。