ScalaでAndroid開発 - Docker編の(2)で散々悩んだんだけど、Android端末及びエミュレータの接続で、リンク先のようなめんどくさい設定する必要がないことがわかった。
何をするかというと、Androidのtcpモードを利用する。このtcpモードは接続している端末にadb -s <dev_name> tcpip <port>
というコマンドを実行することで設定できる。これを行うことで、実機及びエミュレータにネットワーク経由で接続できるようになる。
後は簡単。
実機の場合はホスト接続して、TCPモードを実行後、ネットワーク経由で接続する。
エミュレータの場合は、kvmでandroidエミュレータを作り、ネットワーク経由で接続する。エミュレータ作成にはAndroid_x86で配布されているISOファイルを利用した。下記はkvmの作成コマンドだ。
$qemu-img create android01.img 1G
$sudo kvm -m 2048 -vga std -cdrom <iso file> -hda android01.img -net nic,macaddr=00:30:67:40:34:b3,model=pcnet -net tap,ifname=tap4 -boot d &
あー スッキリした。
※1.色々試した結果、dockerはvirtualboxやvmwareを使って立ちあげたAndroidには接続できない。
※2.virtualboxとvmware、lxcは相性が悪い。(5回母艦がフリーズした。)
※3.Ubuntu14.04LTSの環境下による試行です。
※4.本題。現在、adbのいきなり切断問題の回避プログラム書き中。。。(いい加減に直せよ、Google!!)