アプリケーションの開発スタイル

 では,Android用アプリケーションの開発はどんな形態になるのか,実践的に見ていこう。

 Androidのアプリケーションは,Linux,WindowsあるいはMacOS上で開発できる。Eclipseと,携帯電話のエミュレータを含む開発環境の「AndroidSDK」を使用する。

 Androidアプリケーションの開発・実行環境は,3つに分類される(図2の赤・緑・青)。

図2●Androidアプリケーションの開発環境
図2●Androidアプリケーションの開発環境
Linux上で開発する場合。
[画像のクリックで拡大表示]

 1つめは,パソコン上で動作するAndroidの開発ツール。具体的には,一般的なJavaの開発環境であるJDKやEclipseと組み合わせて利用するAndroid専用の開発ツールである「ADT(Android Development Tools)」が提供されている。

 ADTのツールをEclipseから利用するプラグインである「ADTPlugin」も備える。ADTの中には,携帯端末上の開発用モジュールと通信するための「adb(Android Debug Bridge)」やJava仮想マシンのDalvikと通信する「ddms(Dalvik Debug Monitor Service)」,携帯電話のエミュレータなども含まれている。

 2つめは,Linux環境の部分。Linuxには,ARMアークテクチャのCPU上で動作するカーネルを用いている。このカーネルはARMエミュレータ上で動く。仮想化ソフトの「QEMU」を使用して,パソコン上にARMの環境を作る。ここでのポイントは,QEMU上で動作するLinuxカーネルと実際の携帯端末のCPUで動作するLinuxカーネルは,同じものということだ。

 すなわち,エミュレータ上で動くライブラリやDalvikのコードも,携帯電話の実機で動作するコードと同じ。実機をつなげなくても,ほぼエミュレータだけで開発できる。

 3つめは,実機でのアプリケーション実行環境だ。アプリケーションは,Java言語で開発する。しかし開発言語は,正式なJava Standard Edition(J2SE)やMicro Edition(J2ME)ではなく,Android独自のライブラリ構成と,バイトコードの仕様になっている。これは,メモリーやCPU能力の制限を考慮し,独自に最適化した結果といわれている。

 本記事ではAndroidのエミュレータを動かしてみる。そのためにはAndriodのソース・コードが必要となる。次回以降でソース・コードをビルドする方法を見ていく。

Androidのコミュニティ
 Androidの公式コミュニティはGoogle Groupで運用されている。同コミュニティ・サイトに初心者向けや組み込み開発者向けなど,各種レイヤーごとにグループがリストアップされている。これらのグループにはGoogleのアカウントがあれば簡単に参加できる。Google本家の開発メンバーから貴重な情報を得られるので,参加してみるのもいいだろう。

 日本のコミュニティとしては,Googleが認定した開発者の「Google API Expert(Android)」に選ばれた安生 真氏により,「Android SDK Japan」のGoogle Groupが開設されている。ここでは日本語で SDKに関する質問をやり取りできる。日本語が堪能なGoogleの“デベロッパーアドボケイド”のJason Chen氏も参加している。

 また,「日本Androidの会」というコミュニティも2008年9月に発足した。月に1回程度,Androidのイベントを開催したり,各地のオープンソース・カンファレンスや展示会でAndroidの実機の展示や講演を行うなど,Androidの普及活動を展開している。