エミュレータからproxyを使う
エミュレータから、proxyサーバを使ってインターネットにアクセスする方法がいろんなところに書かれているが、昨日、androidを始めた私にはわけがわからなかったので、わかったことをまとめ。
●常に使う場合。
- 「ホーム」で「メニュー」を押して、「Settings」-「Wierless&networks」-「Mobile networks」-「Access Point Names」を選択
- もう一回「メニュー」を押して、「New APN」を選択
- Name(何でも良い)、APN(なんでもよい)、Proxy(Proxyのホスト名)、Port(Proxyのポート)を設定。Username、Passwordは必要に応じて。
ここで引っかかったのだが、ホスト名にlocalhost、やただのホスト名は通用しない。
IPアドレスか、名前解決できるホスト名を設定する。
- エミュレータ起動
- ...\Android\android-sdk\platform-toolsでDOS窓を開く
- コマンドラインから「adb shell」
- プロンプトが出てくるので「setprop net.gprs.http-proxy http://ホスト名:ポート番号」
エミュレータ終了後にproxyは無効になる。
●WebViewでProxyを使う。
上記2つの方法で、通常のブラウザがproxyを使うようになるが、WebViewはもう一声。
- WebView.enablePlatformNotifications(); を呼び出す
- androidmanifest.xmlに権限追加
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />