2008年03月31日
Androidに任意のIPを割り当てる方法
前々回、途中までしかやらなかった「qemuのtun/tapのブリッジ使用する」の補足です。
こちら と こちら を、参考としました。基本的には、これらを参考してもらえれば、問題ありません。下記は、その補足事項となります。
■インストール対象
・CentOS4.6
- CentOS4.6を、「全てのパッケージ」のインストールとする
・android-sdk_m5-rc15_linux-x86
・dhcp環境は整っているものとする
■準備
・tunctl
tunctlが、入っていませんので、自分でインストールします。こちらより、「Makefile」と「tunctl.c」を入手して、makeしてください。
■設定
前提:こちらをベースとして、話を進めます。
1,「Step2」まで、作業をします。
実際には、「Step1」の作業のみで、あとは、確認作業です。そのままやれば、トラブルは起きないかと思います。
2,「Step5」まで、作業をします。
「Step4」が、メインの作業です。
「Step2」で、閲覧したファイルの編集と言うことになります。
書き換えが必要な箇所は、下記のifconfigをしているところで、ここのIPを使用したいIPに変更します。あとは、そのまま利用してください。
ifconfig eth1 192.168.1.2 netmask 255.255.255.0 up
route add default gw 192.168.1.1 dev eth1
3,「Step6」の作業をします。
Codeの2行目、「$USER」は、任意のものに置き換えてください。
さらに、一番最後のコマンドが、そのままではエラーとなります。下記のように、置き換えてください。
誤:sudo dhclient3 br0
正:sudo dhclient br0
4,「Step7」の作業をします。
emulatorを起動するところですが、このままでは、pingには応答するけど、実際にはうまくAndroid内のIPにbind出来ていないようです。
下記のように起動オプションを指定するとうまくいくようです。
${android_sdk}/tools/emulator -console -qemu -net user -net nic -net nic,vlan=1 -net nic -net tap,vlan=1,ifname=net_android
以上で、「2」で設定したIPアドレスに、ホストOS側のネットワークからアクセス可能となります。
これで、ぜひ、ServerSocketなどを利用したアプリケーションを開発してみてください。
- by noritsuna
- at 01:59