BlogKLabは、多くのスマートフォン向けゲームを開発・提供しています。スマートフォン向けゲームの開発と運用は、Webソーシャルゲームと比べて格段に複雑で、またコンシューマゲーム開発とも異なったノウハウが求められる領域もあります。このブログでは、KLabのゲーム開発・運用の中で培われた様々な技術や挑戦とそのノウハウについて、広く紹介していきます。2015でAndroidアプリ開発こんにちは、今日は少しAndroidの開発ツールのお話をしたいと思います。2015を使ってAndroidの実機デバッグをおこなう方法とハマりがちなポイントを紹介します。2015がリリースされる少し前のことでした。その時には最新のPreview版(CTP6)を使い、Android端末の実機デバッグをテストしました。当時の個人的な感想としては、まだサポートしていない機能が幾つかあるものの、VSの操作に慣れている人にとっては大変使いやすい環境だと感じました。1リリースも提供されています。以前のプレビュー版で作っていた環境よりもかなり安定した環境を整えられたので、VSの新機能と共に設定上のコツなどを紹介します。Studio?VisualStudioはインテリセンスを含めてエディターが使いやすいAndroid実機に繋いでアプリを実行し、ブレークポイントが置かれた所に処理が止まる。その時点での変数値やメモリダンプなどが確認できたり、VisualStudioの便利な機能が当たり前に使える。5.0)ゼロベースからサンプルをステップ実行してみようまず、導入はとても簡単です。2015のどちらかをダウンロード(Community版は企業内での利用などに制限があります。NDKなどのパッケージにチェックを付けてインストールこれだけで最低限の環境が整います。インストールを待っている間についでに、端末の準備もしておくことをお勧めします。Driverをインストール次はプロジェクトのテンプレートを作って実行します。新しいプロジェクトの作成画面を開き、図1のようにプロジェクトのテンプレートを選んで作成(図1)図2のようなプロジェクトが出来上がる(図2)ここで気を付ける点が二つあります。一点目:今まで通りソリューションへプロジェクトを自由に追加/削除できますが、AndroidApp.Packagingというパッケージング用プロジェクトは単体で作成することができません。このため、一旦追加したものを削除しないように注意してください。二点目:メニューバーの真ん中あたりに[Debug][ARM(チップ)][端末名]と表示されます。端末名がちゃんと表示されるかどうかを確認しておいてください。Deviceと表示される場合があります。このままでは実機への転送とデバッグがおこなえません。作ったプロジェクトをビルドします。Bでビルドし、出力ウインドウを見たら、先頭にはこんなログが出力されます。NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK\android-ndk-r10e\いくつかのパスがすでに内部で設定されていることがわかります。NDKのビルドが終わったら、自動的にantが実行され、パッケージングなどの作業を完了させます。ここではサンプルコード中の図3の位置へブレークポイントを貼って、F5で実行してみましょう。(図3)ブレークポイントのところで実機上の処理が中止され、ウォッチ機能でパラメータの内容を確認できます。その後にF5で再開し、サンプルプログラムの実行が継続されることを確認できます。既存プロジェクトをVS2015に移行する時の注意点ここまでで出来たテンプレートプロジェクトを拡張していくと、より複雑なアプリを開発できます。一方で既に存在するプロジェクトをVS2015で開発することもできます。どちらにしても単純なサンプルを超えると何かとハマるところが出てきます。ここではAndroidAppプロジェクトを例として、よく遭遇する注意点を列挙します。操作自体はさほど難しくありませんが、パッケージング用プロジェクトにファイルを入れる場合、参照をリンクするのではなく、ファイルがコピーされる点に注意してください。古いファイルを一度削除し、新しいファイルをAndroidApp.Packaging以下にドラッグ&ドロップするだけでokですAndroidManifest.xmlを入れ替えた場合のみ、プロパティの中身を確認する必要があります。Xmlを選んでください(図4)。(図4)AndroidApp.Pacagkingのプロパティには幾つかデバッグに関するパラメータがあるため、事前に確認しておくことをお勧めします。2、antに関してantを単体で実行することも可能です。debugでant単体を起動することもあるでしょう。事前にantのパスを通します。build.xmlがないというエラーが表示された場合、VSのビルドを一回走らせると自動的に生成されます。そのbuild.xml先頭のほうにを追加し、local.propertiesを作って、sdk.dir=path/to/your/android-sdkを記入します。(図5)補足:もしjavaのソースをコンパイルする必要がある場合、ant.propertiesを作って、source.dir=absolute/path/to/java/folderを記入します。1ではJavaのビルドやデバッグがサポートされるそうです。Monitorなど)が起動している最中は、VSのデバッガーを起動できません。VS2015の正式版ではちゃんとlogcatを見れるので、通常は特に他のツールを起動する必要はないはずです。Errorが出力されます。その場合はインストール済みのアプリを端末上の全ユーザで一旦アンインストールしたうえでVSから再度転送します。outとして表示される場合があります。levelを-O0にすれば、これらはきちんと表示されますが、当然バイナリにリリース版との差分が生じるため、追いかけているバグが発生しなくなるなどの懸念もあります。デバッグシンボルに関して、AndroidApp\ARM\Debug\.gdbにデバッグシンボルが入った.soファイルが存在しないとブレークポイントが効きません。過去のプロジェクトをVS2015に移植する時によく発生します。ビルドイベントを使ってファイルをコピーすれば解決できます。一度プロジェクトプロパティを変えるとリビルドが発生します。ミスするだけでも大きな時間の無駄につながります。Typeは.soになっているかどうかを確認します。STLに関しては必要に応じて変えるのが無難です。Studio2015を使ってAndroidアプリ(NDKメイン)を快適に開発できるでしょう。記述に間違いなどを見つけられたら、是非ご指摘をください。