酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Macのhostsの設定をGenymotionへ転送して同期させる

Androidの場合、Genymotionを使って開発をしています。本記事では、MacのhostsをGenymotionでも使う方法を紹介します。

data.example.comに接続するIPアドレスを手動で変えたいときがあります。

例えば、サーバーを開発用と本番用で分けていて、それぞれのサーバーによって返ってくるデータは異なります。コードに手をつけたくない時にはhostsを変更して接続先を変更します。

iOSシミュレータはhostsを見て通信するのでそれで事足りるのですが、GenymotionのAndroidエミュレータはhostsの変更を見てくれません。Mac上のhostsファイルを転送して同期してしまいます。

platform-toolsにパスを通していたらadbが使えるはずなのですが、フルパスじゃないと動かなかったので下記の通り。

$ cd ~/Library/Android/sdk/platform-tools

$ ~/Library/Android/sdk/platform-tools/adb root
adbd is already running as root

$ ~/Library/Android/sdk/platform-tools/adb remount
remount succeeded

$ ~/Library/Android/sdk/platform-tools/adb push /etc/hosts /system/etc
15 KB/s (329 bytes in 0.021s)

また近いうちに使いそうな気がするのでメモっておきます。

参考

stackoverflow.com