Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

Android

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。

。。。と思ったが、これはサンプルプロジェクトの場合だけかも。