Androidそもそもの仕様の話
Androidが使うポート番号は5554から5585。最大16個接続可能。
奇数番号:adbコネクションを待ち受ける。
偶数番号:コンソールコネクションを確立する。
adbはadb-server,adb-client,adbdでセット。普段一番気にしないのがadb-client。adb関係のコマンドはadb-clientからserverに依頼して、端末内のadbdに送られる。adb-serverは5037番ポートでadb-clientとTCP通信している。
androidのNIC確認はadb shell ls /sys/class/net/
でできる。
AndroidSDKに付属してるAVD
既知のことだが、酷く重い。理由はAndroidのアーキテクチャ見ればわかる。アプリケーションはAndroidのサンドボックス内で動くので、結果として3重でエミュレーションしてるから。intelの拡張プラグインがあるが、環境によってインストールできない場合があり、使えない。複数のエミュレータが必要な場合、AVDは不適切。
ISOファイル配布サイト
Android-x86 - Porting Android to x86
以下virtualbox上での話
※1.配布イメージによってインターネット接続できるものとできないものがある模様。
以下Android-x86-4.0-r1のISOを立ち上げた結果のメモ
1.asus・・・eth0が見えてない。stackoverflowに同様の話がある。しかし、デフォルトでsudoが使えないため、お手上げ中。
2.eeepc・・・eth0が見えていてインターネット接続できるが、表面上インターネット未接続。wifiがOFFになってる。adb root
後、再度接続、setprop net.gprs.http-proxy http://proxy.hoge.com:8080
を試したが、proxyが通ってないことを確認した。
3.amd_brazos・・・インストールできない。
4.tegav2・・・インストールできない。
5.thinkpad・・・
6.tx2500・・・
7.s103t・・・
OVAファイル配布サイト
以下virtualbox上での話
※1.NAT接続でポートフォワーディングの設定にすると、proxyがつながらない。
※2.ポートフォワーディングの設定で5555番ポートに固定される。(5557番で接続できないことを確認)またIPアドレスも10.0.3.15で固定の可能性がある。
※3.ブリッジでネットワーク経由で接続すると、ポート番号が5555で固定される。(※2と同様)
※4.ネットワークアダプタ1は未割り当てで固定。ネットワークアダプタ2を主に使う。アダプタ1をNATもしくはブリッジにして、アダプタ2を無効化するとインターネット接続できない。(確認済み)
※5.コマンドラインからアプリケーションをアンインストールする場合、adb root
を実行、再接続してから実行しないと怒られる。(アンインストールは要root権限)理由はコマンドラインからインストールされたアプリケーションは、system領域にあるから。
※7.このサイトで配布されてるVMを使うとビデオメモリが足りないと怒られるので、数値を増やす。
登録して使うVM image
前述のAndroVMの別サービス。しかし、私の環境(Ubuntu 14.04LTS)だと立ち上げと共にフリーズが起きた。Ubuntuを安全に再起動するコマンドを押しても、コマンドが機能しない。そのため2回電源ボタンを押すことになった。Ubuntuユーザは使わないほうが無難かもしれない。
Android OSをビルドして使う
方法は後ほど。Googleの公式サイトを見ながら、他サイトを見ながらやればおk
AndroidOSをビルドすると、AVDと同じスキンになり、結局は3重エミュレータになる。重い。OS部分だけ抜き出して、vboxに移動できないか、考え中。他、NICの問題も残る。