Android系ウェアラブルデバイスの開発環境について

こんにちは、ATLでウェアラブルデバイスの研究をしている吉村です。これからAndroid系を中心に技術ネタを数回に分けてちらほらと書かせていただこうと思いますので、皆様よろしくお願いいたします 🙂

ウェアラブルデバイスでなにかを作る場合、開発に使うツールはどのようになっているのでしょうか。

Google GlassAndroid Wearのような、OSにAndroidを使用しているデバイスの場合かなり開発の自由度が高く、センサも豊富で周辺機器との親和性も地味に高かったりするのでいろいろ面白いことができ、その上既存のAndroid開発の知識がある程度通用するので敷居も低い…とも言えるのですが、一方でAndroidはその開発環境自体が他のモバイル環境と比べると若干見劣りしていたのも事実です。

Android Studio

しかし、それはGoogle I/O 2013でこれまでのEclipseに代わる開発環境としてAndroid Studioの発表が行なわれてから一変します。

強力な補完機能や高度なリファクタリング支援機能を搭載したIntelliJ IDEAに、賢いビルドツール Gradle とAndroid系の機能(レイアウトのプレビューやデバッガなど)を統合したこの環境は、これまで開発者がEclipseベースの環境に抱いていた不平不満をことごとく解消していき、いまやAndroid開発において中心的な存在になりました。

しかし、このAndroid Studio周辺は日本語の情報がまだまだ少ないこともあり、今回はこれの導入からデバッグまでの一連の流れを見てみることにしたいと思います。

始めに断わっておきますが、これから先はMacよりの記述になってしまいます。Windows/*nixの情報を期待されていた方すみません m(__)m

インストール

Googleが配布しているサイトからダウンロードしてインストールします。ここから現在最新のバージョンを選んで落とします… 現在の最新は0.8.6ですが、ここでは0.8.0を使用しています。

image-0

Macの場合、dmgを開いてアプリケーションを/Applicationsへ入れるだけで完了です。

image-1

ビルド

ここまでできたらサンプルをビルドしてみましょう。API 19以降のサンプルコードであれば、Android Studioでほぼ難なくビルドできるはずです…

/Applications/Android Studio.app/sdk/samples/android-19/sensors/BatchStepSensor を適当なディレクトリへコピーし、Android StudioからImport Project…としてそのディレクトリを選びます。

そうすると、ほどなくしてプロジェクトが取り込まれます。

image-2

あれ、エラーが出ていますね。これはAndroid Gradle Pluginのバージョンが古い、と言っているので更新します。またAndroid Gradle PluginはBuild Toolsのバージョンと密接に関連しているので、こちらも新しいもの…19.1以降を使用するようにbuildToolsVersionを更新しておきましょう。

image-3

このようにGradle系のファイルを変更したら、Gradleロゴ (○)が下に落ちているアイコンをクリックしてAndroid Studioに環境変化を適応させます。

image-4

※Tools > Android > Sync Project with Gradle FilesでもOKです。

一通り済んだらCtrl+R (Run > Run ‘…’)でビルドし、実行させることができます。

image-5

デバッグ

さて、以上のようにして実行させることができました。ではブレークポイントを張って…と行きたいところですが、こういうことをするにはデバッガをアタッチする必要があります。

Android StudioはEclipseと同様の統合開発環境ですので、このようなことはCtrl+Dで実行開始するだけで行なえます。

どうですか?実行できましたか?…変じゃないですか?

やってみていただいた方は既にお気づきだと思いますが、EclipseでもAndroid Studioでもアプリにデバッガをアタッチすると実行速度が大きく低下してしまうという弱点があります。

残念ですが、これに対する根本的な対策は今のところあまりありません。

Android開発においては極力マーカーを使用した静的デバッグ手法を使うことにして、本当に必要になった時にデバッガをこちらからDebug#waitForDebugger()などを使用してコールするようにするのが最善ではないかと思います。

パッケージ作成

リリース版パッケージを作成するためにはProGuard・署名などの設定を一通り行なう必要があります。

image-6

次にパッケージをビルドするのですが、Android StudioはEclipseと違ってビルドを自前ではせずGradleへ全て任せているためパッケージを作成するにはGradleを直に実行します。

Tools > Open Terminalとして次のようにコマンドを打ちます。

一通り終わると build/outputs/apk/BatchStepSensorSample-release.apk としてファイルが出来るので、こちらをリリースすることになります。

まとめ

以上、駆け足で見てきましたがいかがでしょうか!特にこれまでAndroidで開発を行なったことがある方は勝手が違う点が多いので好き嫌いが分かれるところかと思いますが、慣れてくれば補完機能やリファクタリング支援機能やレイアウトツールや諸々の機能がきっと役に立ってくるはずですので、ぜひ手になじむまでいじり倒してみてください。

また、これは私見になりますがビルドツールがGradleとして分離されたことが何よりもありがたく思っています。このGradle、メモリ消費が大きいなど問題があることはあるのですが、以前のAntと比べると並列ビルドができるようになっていたり、ライブラリをMavenのように名前を記述するだけで準備してくれたり、ビルドファイルが読みやすくなっていたり etc. etc.…するなど非常に満足しています。

きっとこれらのツールに慣れたら最後、EclipseやAntベースの開発にはよほどの理由がない限り戻れなくなると思います。Google自体、ADTを見限ってきている節があるので是非この機会に若干モダンなAndroid開発スタイルにシフトしてしまいましょう!