Locked History Actions

Diff for "Android/Development"

Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Android開発環境ひとめぐり = = Android開発環境ひとめぐり =
Line 5: Line 5:
ここでは、Eclipseを使用して日常的にJavaアプリの開発を行っている者向けとして、大雑把にAndroidの開発環境を把握させる目的で記述する。 ここでは、Eclipseを使用して日常的にJavaアプリの開発を行っている者向けとして、大雑把にAndroidの開発環境を把握させる目的で記述す
る。
Line 9: Line 10:
開発環境としては、基本的にJava環境とAndoid SDKがあればよい。もちろん、Eclipseを使用しないで開発を行うのは困難が伴なうと思われるが、Androidアプリの作成には必ずしも必要ではない。 開発環境としては、基本的にJava環境とAndoid
SDKがあればよい。もちろん、Eclipseを使用しないで開発を行うのは困難が伴なうと思われるが、Androidアプリの作成には必ずしも必要では
ない。
Line 11: Line 14:
また、Javaは「コンパイラ」のみが必要と思われる。なぜなら、Androidアプリの実行は(実機であってもエミュレータであっても)DalvikVMという独自のVM上で行われるので、JavaのVMは必要ないからである。実行形式もJava本来のjarファイルではなく、apkという拡張子のファイルになる。apkはjar同様に中身はzipファイルではあるが、jarの中身とは全く異なる。 また、Javaは「コンパイラ」のみが必要と思われる。なぜなら、Androidアプリの実行は(実機であってもエミュレータであって
も)DalvikVMという独自のVM上で行われるので、JavaのVMは必要ないからである。実行形式もJava本来のjarファイルではなく、apk
という拡張子のファイルになる。apkはjar同様に中身はzipファイルではあるが、jarの中身とは全く異なる。
Line 13: Line 18:
Android SDKにはエミュレータが含まれており、実機がなくとも作成されたapkをこの中で実行してみることができる。このエミュレータはCPUレベルのエミュレーションを行っており、これはARMプロセッサのようである。つまり、このエミュレータの上に、ARMプロセッサとその上で走行するLinux、さらにその上のDalvikVMが載っているので、非常に動作が遅いが、ほぼ完全に実機と同じ環境を作成できるようである。 Android
SDKにはエミュレータが含まれており、実機がなくとも作成されたapkをこの中で実行してみることができる。このエミュレータはCPUレベルのエミュ
レーションを行っており、これはARMプロセッサのようである。つまり、このエミュレータの上に、ARMプロセッサとその上で走行するLinux、さらに
その上のDalvikVMが載っているので、非常に動作が遅いが、ほぼ完全に実機と同じ環境を作成できるようである。
Line 15: Line 23:
== APIレベル == === APIレベル ===

androidにはAPIレベルというものがある。これはAPIのバージョンとも言うべきものであるが、当然のことながら時間が経過するにしたがって上
がってくる。この一方で、実機の方は簡単には上がらないため、開発環境ではどのAPIレベルをターゲットとするかを指定できるようになっている。

もちろん、古いバージョンをターゲットとすれば、多くの実機で動作するだろうが、これも当然ながら新しい機能を使用することはできない。

=== AVD ===

AVDというのは、要するにエミュレータ上で動作する実機のイメージである。androidの実機としては、様々なAPIレベルのほか、様々なデバイス
(SDカードメモリを持つか、画面の解像度はいくらかなど)の違いがあるため、これらを定義した実機のイメージを作成しなければならない。

これを先のエミュレータ上で動作させ、その上に開発済みアプリを走行させるということになる。ただし、ほとんど「実機と同じようなイメージ」ではあろうけ
れども、エミュレータによってその状態を変更できるようなものであるらしい。例えば、エミュレータに対して、ACアダプタが接続状態であるか、あるいは電
池での駆動であるか、電池なら残りの容量は何%であるかなどを指定できるようになっており、エミュレータはその状態を作りだしてアプリ側に通知することが
できる。

=== ツール ===

Android SDKには、これだけでAndroidアプリケーションが作成できるだけのツールが付属している。
これは、SDKインストールディレクトリの下のtoolsディレクトリと、platforms\android-?\toolsの下にある。

android-?の?にはAPIレベル番号が入るが、つまりAPIレベルによって使用可能なツールが異なるということらしい。


== Eclipse ==

上述のようにEclipse

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