Androidエミュレータのhostsを変えるのはちょっと手間なので、ローカルでDNSサーバをたててなんとかしてみる。
dnsmasqというツールを使う。
$ brew install dnsmasq/etc/dnsmasq.hosts を作成。
dnsmasqで使っていくhostsファイル。 Mac自身で使う必要はないので別に用意する。 記法は普通のhostsファイルと同じ。
/usr/local/etc/dnsmasq.conf に下記を追加。
# dnsmasqだけで使うhostsファイル
addn-hosts=/etc/dnsmasq.hosts
# ログを出力したければ下記を追加。
# パスは任意の場所で構わない。先にディレクトリを作っておくこと
log-queries
log-facility=/usr/local/var/log/dnsmasq/dnsmasq.log$ sudo brew services start dnsmasqDNSサーバを設定するためコマンドラインから起動する
$ emulator -avd AVD_NAME -dns-server 127.0.0.1エミュレータの名前は $ emulator -list-avds で取得できる。
PANIC: Missing emulator engine program for 'x86' CPU.が出る場合は違うコマンドを参照している。 PATHに$ANDROID_HOME/emulatorを追加すること。その際、$ANDROID_HOME/toolsより先に記述する。