エミュレータからproxyを使う | 戦うおやじプログラマー

エミュレータから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" />