個人的なメモ。多分Android Studioにかぎらず適用出来ると思う。
EmulatorはNexus 5 API 23で確認。
やり方
- Charles Proxyを起動する。
- Android StudioからAndroid Emulatorを起動する。
- エミュレータの中のSettingsアプリ → Wireless & NetworksのMore → Cellular networks → Access Point Names → T-Mobile US(環境によって違うかもだけどとにかく使ってるやつ) → Proxyを自分のホストマシンのIP, Portを8888に設定
- スクショめんどいからこれ見て
- そのエミュレータのブラウザで http://charlesproxy.com/getssl/ にアクセスしてcharlesの証明書をインストールする。
- これでてきとうに通信するとCharlesにパケットが流れるはず。
-
Charlesにパケットが流れてこない時はエミュレータを1度Airplane modeにしてまた戻すと動くかもしれない。
- これで数時間無駄にしたぞ☆
補足
- 昔はrun/debugのconfigurationでproxyの設定書けたっぽいけど今はできないみたい。
- 参考