先日のBuild 2016でXamarinが無償で利用可能となったので、早速使ってみてます。
www.publickey1.jp
Android/iPhoneアプリを作りたいなぁと思っていて、Cordovaを調べていたのですが、その矢先に上記ニュースを聞いて、久しぶりにC#も書いてみたくなったのでXamarinへ。
日本語情報も多そう!
ytabuchi.hatenablog.com
また、既にMSさんが無料と思えないようなガイド本出してて(PDF)良い感じです。
Xamarin.Forms - Xamarin
ということで本題。
err_name_not_resolved
VAIO Duo 13 + Windows 8.1環境でVisual Studio + Xamarinで環境を整えました。
色々試してる中で、Xamarin.FormのWebViewを以下のように利用してみたのですが
var webView = new WebView
{
Source = "http://google.co.jp"
};
Content = webView;
GoogleとかYahooを指定しても画面が以下のような表示でした。
err_name_not_resolvedとは…。どうもDNSが引けてない感じ?
Androidのシミュレータの問題っぽいですが、Macを持っていない+WindowsPhoneの環境までは入れなかったので、現状Androidだけしか確認できず(^^;
情報は色々あり、チェックポイントの整理を兼ねてまとめてみます。
Androidエミュレータ起動時にDNS指定
上記サイトの下に「-dns-server」オプションをエミュレータ起動時に指定する、とありました。Visual Studioからだとどこだろうか…と探したのですが、以下っぽい。
ツールメニューのオプションから
XamarinのAndroid Settingsを選択
Additional Emulator Launch Argumentsとあり、ここで指定できそうです。試してみたけど、自分の環境では駄目でした。
AndroidエミュレータのDNS設定確認
以下サイトにエミュレータでのDNS設定確認方法がありました。
Getting Signals: [TIPS]Androidのエミュレータでネットに接続できない
Visual Studioからだと、どこなんだろう…と。以下で確認できました。
Open Android Adb Command Prompt
Dos窓が立ち上がり、adb shellと打てば上記サイトと同じ確認ができました。
DNSの設定が空欄だったので、Google Public DNSとかipconfigで確認したやつとか打ったのですが、自分の環境では駄目でした。
LAN接続
結構あちこちで「ここをみな」って引っかかったのは以下情報。ネットワーク接続のLANを無効に、って感じなのかな。VAIO DUOは直接のLANポートがないので…
stackoverflow.com
vEthernetの確認
で、自分がうまくいったのはこれでした。
superuser.com
Androidエミュレータの話でない情報源ですが、vEthernetの設定とかみて、無効にしたりしてみ、みたいな。
確かに自分の環境、前にvirtual box入れたり、boot2docker入れたりで何かvEthernetたくさんあった気が…と。
以下のような感じ。
で、一通り無効にしてみていたら
出た!
ということで解決しました。vEthernetだと何がどうなってDNSあれだったんだろう…ってイマイチわかりきってない感じですが、、、
ということで遊べる。