Deletions are marked like this. | Additions are marked like this. |
Line 50: | Line 50: |
上述のようにEclipse | 上述のようにEclipse無しであっても、SDKがあればAndroidアプリの作成は可能らしいが、Eclipseと(Eclipse用の)ADTプラグインがあれば開発は楽になる。 |
Line 52: | Line 52: |
このADTプラグインには大雑把に二つの役割があると思われる。 * EclipseをAndroid専用のIDEにする。 * Android SDKとの橋渡しを行う。 === Androidパースペクティブ === 通常、Eclipse上でJavaプログラムの開発を行うには、JavaパースペクティブやJava EEパースペクティブを使うものだが、Androidの開発では、全面的にJavayとXMLを使うにもかかわらず、Androidパースペクティブを使用する。このパースペクティブによって、EclipseはAndroid開発専用のIDEとなる。 |
Android開発環境ひとめぐり
Androidアプリケーション開発上の細かい部分については、ウェブ上にも非常に多くの資料があるが、 開発環境全般についておおまかに把握できるような文書は以外に少ない。 ここでは、Eclipseを使用して日常的にJavaアプリの開発を行っている者向けとして、大雑把にAndroidの開発環境を把握させる目的で記述す る。
Android SDK
開発環境としては、基本的にJava環境とAndoid SDKがあればよい。もちろん、Eclipseを使用しないで開発を行うのは困難が伴なうと思われるが、Androidアプリの作成には必ずしも必要では ない。
また、Javaは「コンパイラ」のみが必要と思われる。なぜなら、Androidアプリの実行は(実機であってもエミュレータであって も)DalvikVMという独自のVM上で行われるので、JavaのVMは必要ないからである。実行形式もJava本来のjarファイルではなく、apk という拡張子のファイルになる。apkはjar同様に中身はzipファイルではあるが、jarの中身とは全く異なる。
Android SDKにはエミュレータが含まれており、実機がなくとも作成されたapkをこの中で実行してみることができる。このエミュレータはCPUレベルのエミュ レーションを行っており、これはARMプロセッサのようである。つまり、このエミュレータの上に、ARMプロセッサとその上で走行するLinux、さらに その上のDalvikVMが載っているので、非常に動作が遅いが、ほぼ完全に実機と同じ環境を作成できるようである。
APIレベル
androidにはAPIレベルというものがある。これはAPIのバージョンとも言うべきものであるが、当然のことながら時間が経過するにしたがって上 がってくる。この一方で、実機の方は簡単には上がらないため、開発環境ではどのAPIレベルをターゲットとするかを指定できるようになっている。
もちろん、古いバージョンをターゲットとすれば、多くの実機で動作するだろうが、これも当然ながら新しい機能を使用することはできない。
AVD
AVDというのは、要するにエミュレータ上で動作する実機のイメージである。androidの実機としては、様々なAPIレベルのほか、様々なデバイス (SDカードメモリを持つか、画面の解像度はいくらかなど)の違いがあるため、これらを定義した実機のイメージを作成しなければならない。
これを先のエミュレータ上で動作させ、その上に開発済みアプリを走行させるということになる。ただし、ほとんど「実機と同じようなイメージ」ではあろうけ れども、エミュレータによってその状態を変更できるようなものであるらしい。例えば、エミュレータに対して、ACアダプタが接続状態であるか、あるいは電 池での駆動であるか、電池なら残りの容量は何%であるかなどを指定できるようになっており、エミュレータはその状態を作りだしてアプリ側に通知することが できる。
ツール
Android SDKには、これだけでAndroidアプリケーションが作成できるだけのツールが付属している。 これは、SDKインストールディレクトリの下のtoolsディレクトリと、platforms\android-?\toolsの下にある。
android-?の?にはAPIレベル番号が入るが、つまりAPIレベルによって使用可能なツールが異なるということらしい。
Eclipse
上述のようにEclipse無しであっても、SDKがあればAndroidアプリの作成は可能らしいが、Eclipseと(Eclipse用の)ADTプラグインがあれば開発は楽になる。
このADTプラグインには大雑把に二つの役割があると思われる。
- EclipseをAndroid専用のIDEにする。
- Android SDKとの橋渡しを行う。
Androidパースペクティブ
通常、Eclipse上でJavaプログラムの開発を行うには、JavaパースペクティブやJava EEパースペクティブを使うものだが、Androidの開発では、全面的にJavayとXMLを使うにもかかわらず、Androidパースペクティブを使用する。このパースペクティブによって、EclipseはAndroid開発専用のIDEとなる。