Android
※Androidについてはネット上にいくらでも資料が見つかるので、ここではほぼ流れだけを記述していく。 基本的にEclipse上での開発を想定している。
リンク
Android徹底批判
もろもろ
開発環境の使い方
トラブル
インストール
開発環境は以下のもの。
- eclipse + ADTプラグイン
- Android SDK
以上二つは別ディレクトリになる。Android SDKは単にダウンロードして展開すればよい。
Eclipseは3.5を使う。2010/9現在、3.6で動作するのかどうなのか明確な記述が無い。 マニュアル通りにADTプラグインをインストールするが、その前にeclipseの既存のプラグインの更新を行っておいた方がよい。 どうもADTプラグインのインストール時に勝手にこれを行っているらしく、プラグインインストールの進捗がフリーズしたように見えてしまう。
Eclipseを起動させたら、ウインドウメニューの「Android SDK and AVD Manager」を選択し、 先のAndroid SDKを展開させたフォルダを指定する。要するに、Eclipse用プラグインだけでは何もできず、 Android SDKも必要ということ。
また、この画面の中で各種パッケージ(SDK Platform, Samples, Google API,など)をインストールしておく。 とても重要なことは、エミュレータ用のVirtual Deviceが一つも定義されていないこと。 とりあえず一つを適当に作成する。
NewボタンをクリックしNameを適当に選択し、Targetを適当に選択して「Create AVD」。
Eclipseのプロジェクト作成とエミュレータ上での実行
プロジェクト作成時は、Javaプロジェクトではなく、Android Projectを選択する。 このとき、「Create project from existing sample」を選択すれば、SDKに内蔵サンプルのプロジェクトが作成されるので、 それを適当にいじってみることができる。
※1:ただしこの場合、eclipseのワークスペースには何も作成されない。SDK内蔵サンプルをワークスペースにコピーしてくるのではなく、ワークスペースからSDK内蔵サンプルを参照している状態になる。この状態でビルドすると、SDK内蔵サンプル(samples\android-?\サンプルフォルダ)の中に実行形式が作成されることになる。
※2:New Android Projectのウィザードには、上記の「create project from existing sample」のほかに、「create project from existing source」という選択肢もあるが、いずれにしてもeclipseのワークスペースにソースがコピーされるわけでは無い。それらのソースは元の場所のまま、ワークスペース内にプロジェクトが作成されるに過ぎないことに注意。
※3:サンプルソースをワークスペース内にコピーするには、まずワークスペース内に空のandoidプロジェクトを作成しておき、そこに「import」を行う必要があるようだ。eclispe上でこれ以外の方法は今のところ不明。そりゃ自分でソースをコピーしてくれば良い話ではあるが。
プロジェクトを右クリックし「Run As Android Application」を選択すると、エミュレータ画面が表示されてアプリケーションが実行される (通常のJavaプログラムの実行方法とは異なる)。 ただし、この実行には非力なマシンだとかなりの時間がかかる。
Eclipse(+ADTプラグイン)とエミュレータの関係
実行形式はどこに?
androidの実行形式は.apkという拡張子のファイルだが、これは通常のeclipse-javaプロジェクトと同様にbinディレクトリ(eclipse-IDE上では見えない)に、.classファイルと共に作成される。
何がapkとしてまとめられるか?
apkとしてまとめられる実行形式には、そのプロジェジェクトのJavaソースをコンパイルした.classファイルだけではない。 以下もこのapkの中に格納さrている。
- ビルドパスのライブラリに指定されたjarファイル。
- ビルドパスの外部プロジェクトと指定されたプロジェクトのソースをコンパイルしたもの。
要するに、このプロジェクトを動作させるのに必要なものはすべて自動的にapkファイルに格納される。
これを確認する方法は(動作させてみればわかるのだが)、dexdumpを使用してapkに格納されるdexファイルを解析してみればよい。
※dexdumpはSDKのtoolsディレクトリではなく、platforms\android-8\toolsなどに格納されている。
ドキュメント
Eclipse上でDocumentation for Android SDKをダウンロードすると、Eclipse上でAPIドキュメントを閲覧できるとマニュアルにはあるが、やり方が一切不明。通常のEclipseのHelpビューアの目次にも表示されていない。
SDK自体に含まれるドキュメント(Windowsの場合)は「SDKインストールフォルダ\docs\offline.html」になる。
サンプル
先のプロジェクト作成時に選択できるサンプルは「SDKインストールフォルダ\samples\android-?」の下にあるものらしい。
サンプルの説明は、SDKの中だと「SDKインストールフォルダ\docs\resources\samples\index.html」であるが、 当然オンライン上にもある。 List of Sample Appsがそれ。
※オフラインのドキュメントには何の意味があるのか不明。
そのほか、サンプルを集めたサイトがapps-for-android。
エミュレータのみを動作させる
「ボス」に見せるのに、いちいちeclipseを操作してもらうのは大変である。 少なくとも、JavaとAndroid SDKがインストールされていれば、エミュレータを実行することができる (Javaもいらないという話もあり。androidは純正Java-VMで動作するわけではないので)。
- コマンドプロンプトを開く
- cd SDKインストールフォルダ\tools
- start emulator -avd eclipse上で作成したAVD名称
とする。
表示を日本語にするのは以下のとおり。
- 「Settings」のアイコンをクリック
スクロールして「Language & Keyboard」を選択
- 「Select Language」をクリックして、「日本語」を選択
Eclipseで開発し、Eclipseから起動してエミュレータ上で動作させたアプリは勝手にSDKインストールフォルダにインストールされているので、SDKインストールフォルダをzipして「ボス」に渡し、先の「start emulator云々」をやってもらえばOK。
。。。と思ったが、これはサンプルプロジェクトの場合だけかも。