業務ではもっぱらVB.netなのですが、「やっぱりC#.netの方がいいなあ…」って感じながら作業してます。
昔はVB一本だったのですが、他の言語も覚えると「融通がきく」点が逆に「独特な言語」って感じてしまって、むしろコード記述が難しく感じます。
さて、そんな感じで業務でC#.netから離れているので、リハビリを兼ねてXamarinでスマホの開発でもやろうかな、と思いました。
しばらくスマホ開発からも離れていたので、こちらのリハビリにも良いかと思いまして。
1.インストール
で、インストールなのですが、ちょっとググったらこんな記事が…
うーん、こりゃあ厄介そうだ…
とは言え、やらないと始まらないのですが。
とりあえず「プログラムの追加と削除」から「変更」をクリックして、
- C#/.NET (Xamarin) 10GB
- Android 用 Microsoft Visual Studio エミュレーター (2016年1月) 1GB
- 共通ツールおよびソフトウェア開発キット
・Android ネイティブ開発キット (R10E、32ビット) 3GB
・Android SDK 1GB 未満
・Android SDK セットアップ (API レベル 19および21) 5GB
・Java SE 開発キット (7.0.550.13) 1GB
ココらへんを入れておけば大丈夫っぽい。(なお、UWPやWindows Store開発をやる場合、もっと必要です。)
あとは時間が経てば、インストール完了するはず。(まあ、これが結構時間を食うんですが…)
2.実機デバッグ環境構築
とりあえずインストールは完了しましたが、どうやらAndroidエミュレーターはクッソ重いらしく、実機デバッグにすべきとのこと。
幸いAndroidの実機は持っていたので、実機デバッグ環境を構築してみました。
【Google USB Driverのインストール】
[ツール]-[Android]-[Android SDK Manager]を選択するとAndroid SDK Managerが開くので、下の方にある[Extras]から「Google USB Driver」をインストール。
【Android端末のUSBデバッグの有効化】
[設定]-[端末情報]を開き、「ビルド番号」を連打すれば「開発者モード」になる(と思う)ので、その中の「USBデバッグを有効にする」にチェックを付ける。
【android_winusb.infの変更】
先程インストールしたGoogle USB Driverのフォルダ内に「android_winusb.inf」というファイルがあるので、この中の[Google.NTx86]と[Google.NTamd64]の2つのセクションに、以下の記載を追加する。
%SingleAdbInterface% = USB_Install, USB\VID_(自分のAndroidのVID)&PID_(自分のAndroidのPID)
%CompositeAdbInterface% = USB_Install, USB\VID_(自分のAndroidのVID)&PID_(自分のAndroidのPID)&MI_01
※自分のAndroidのVIDとPIDは「デバイスマネージャー」に表示されているAndroid端末のプロパティから[詳細情報]-[ハードウェアID]を選択すると確認することが出来ます。
※android_winusb.infは管理者権限で編集ソフト(テキストエディタなど)を開かないと編集できません。
と、大抵のサイトでは「これでOK!」という事だったのですが、僕の環境ではダメで、デバイスマネージャーを確認した所、どうやらADBドライバのインストールも必要でした。
【ADBドライバのインストール】
- デバイスマネージャでADBデバイス(「他のデバイス」に表示されていると思う)に「!」が表示されているので、右クリックから「ドライバソフトウェアの更新」を選択。
- 「どのような方法で…」と表示されたら、下の「コンピュータを参照して…」を選択。
- 「コンピュータ上のドライバ…」と表示されたら、下の「コンピュータ上のデバイスの一覧から…」を選択。
- 「次の一覧から…」は「すべてのデバイスを表示」を選択。し、「このハードウェアのために…」が表示されたら「ディスク使用」をクリックし、「製造元のファイルのコピー元」に、最初にインストールしたGoogle USB Driverのフォルダを指定する*1。
- 「モデル」の一覧が表示されたら「Android ADB Interface」を選択。(このあと警告が出る場合があるが「はい」を選択でOK。)
- ドライバ更新が正常に終了すれば、Android実機の方で「USBデバッグを有効にしますか?(「このパソコンのRPAキーのフィンガープリント…)」という表示が出るので「OK」をクリック。(そのパソコンで今後も開発作業をするなら「このパソコンからの…」にチェックを入れておくと良いです。)
これでVSのデバッグ環境にAndroid名が表示できれば、めでたく実機デバッグが可能です!(表示されない場合、一度VSを再起動してみて下さい。)
これでバリバリ開発…
とはいかないんですよね、おそらく。
私の環境でもそうなんですが、他の方同様PCLプロジェクトを開こうとすると、原因不明のエラーが出まくりで、ネットの情報を色々調べて手は打ったんですが、まだ解決には至っていません…
(なお、下記の方が素晴らしいテンプレートを公開されています。私もこれでビルドが出来ました。)
ytabuchi.hatenablog.com
またiOSアプリは開発こそ可能ですが、結局デバッグにはMacが必要なので「それならXCodeで…」とも感じてしまいますし。
そうなるとAndroidですが、EclipseやAndroid Studioに比べるとまだまだ発展途上な感は否めません。(C#やWindows単体でスマホ開発が出来る、という点は魅力的ですけどね。)
とはいえ、「AndroidやiPhoneなどのクロスプラットフォーム開発が可能」と言うのはやはり魅力的ですので、今後の発展に期待、って感じでしょうかね。