やりたいこと
自分の環境では、Android エミュレーターを使っているとネットワークに繋がらなくなることが多々あります。ほとんどの場合、DNS の設定に問題があるらしく、こちらの記事を参考にすれば問題は解決します。
しかし...
エミュレーターを起動するたびにこの記事どおりにコマンドを打つのが面倒くさい...。
ということで、これらの処理を 1 発で済ませるためのシェルを作ってみました。
ソースコード
普段シェルを使うことがなく、何かおかしな点があればご指摘ください。
run-avd.sh
#!/bin/bash
me=$(whoami) # ユーザー名を取得
path=/Users/${me}/Library/Android/sdk # ここは環境に合わせて変更してください
command=${path}/emulator/emulator
avds=$(${command} -list-avds) # インストールされているデバイスを取得
# インストールされているデバイスから起動するデバイスを選択
select AVD in ${avds}
do
if [ -z $AVD ] ; then
continue
else
break
fi
done
# DNS サーバーを指定して起動
$(${command} -avd ${AVD} -dns-server 8.8.8.8)
こちらを適当なファイル名でコピペ保存して下記のコマンドを叩けば使えるようになるかと思います。
$ sh run-avd.sh
Android SDK へのパスは自分の環境に合わせて設定していますので、必ずパスを確認して必要であれば変更してください。