forwardは、ホストの特定ポートへの接続を端末側のポートへ転送するサブコマンドである。

forwardでポートフォワーディングを設定する

tcp:ホスト側ポート tcp:端末側ポートの形式で指定する。

$ adb forward tcp:8080 tcp:80
8080

ホスト側の8080番ポートへの接続が、端末側の80番ポートへ転送されるようになる。

--listで設定済みのフォワーディングを確認する

$ adb forward --list
1234567890ABCDEF tcp:8080 tcp:80

--listの1列目には対象端末のシリアル番号が表示される(複数の端末を接続している場合にどの端末への転送か見分けるためのもの)。

同じホスト側ポートへの再設定はデフォルトで上書きされる

既に使われているホスト側ポートに対してforwardを実行すると、転送先がデフォルトで上書きされる。

$ adb forward tcp:8080 tcp:8888
8080

$ adb forward --list
1234567890ABCDEF tcp:8080 tcp:8888

--no-rebindで上書きを禁止する

--no-rebindを付けると、既に使われているホスト側ポートの上書きがエラーになる。

$ adb forward --no-rebind tcp:8080 tcp:9999
adb: error: cannot rebind existing socket

--remove/--remove-allで解除する

--removeにホスト側ポートを指定すると、そのフォワーディングだけを解除する。

$ adb forward --remove tcp:8080

$ adb forward --list

--remove-allを実行すると、設定済みのフォワーディングをすべて解除する。

$ adb forward --remove-all

$ adb forward --list