page.title=その他の統合開発環境 @jd:body
Android アプリケーションの開発では、ADT プラグイン搭載の Eclipse を使用する開発方法が推奨されています。ADT プラグインは、編集、ビルド、デバッグ、.apk パッケージング、署名の機能を統合開発環境に直接統合して提供します。
しかし Eclipse の代わりに IntelliJ のような別の総合開発環境や Emacs のような基本的なエディタを使用した開発も可能です。SDK には Android プロジェクトのセットアップ、ビルド、デバッグ、および配布用パッケージ作成に必要なすべてのツールが含まれています。このドキュメントでは、こうしたツールの使用方法について説明します。
Eclipse 以外の統合開発環境やエディタで開発する際には、次の Android SDK ツールについて知っておく必要があります:
上記のツールに加えて、SDK に含まれている次のオープンソースとおよびサードパーティ製のツールを使用します:
下記のトピックでは、必要な箇所でそれぞれの各ツールを説明しています。さらに高度な操作については、ツールのそれぞれのドキュメントをご覧ください。
Android プロジェクトを作成するには、android
ツールを使用する必要があります。新しいプロジェクトを android
で作成すると、デフォルトのアプリケーション ファイル、スタブ ファイル、構成ファイル、ビルド ファイルを含むプロジェクト ディレクトリが生成されます。
新しいプロジェクトを開始する場合、android create project
コマンドを使用すると、必要なファイルとフォルダがすべて生成されます。
新しい Android プロジェクトを作成するには、コマンドラインを開き、SDK の tools/
ディレクトリに移動して、次を実行します:
android create project \ --target <targetID> \ --path /path/to/your/project \ --activity <your_activity_name> \ --package <your_package_namespace>
target
は、アプリケーションの「ビルド ターゲット」です。これは、プロジェクトをビルドする Android プラットフォーム ライブラリ(Google API のようなアドオンも含まれます)に対応します。使用可能なターゲットとそれに対応する ID の一覧を表示するには、android list targets
を実行します。path
は、プロジェクト ディレクトリのロケーションです。このディレクトリが存在しない場合は、自動的に作成されます。activity
は使用する {@link android.app.Activity} クラスの名前です。このクラス ファイルは <path_to_your_project>/src/<your_package_namespace_path>/
内に作成されます。package
はプロジェクトのパッケージ名前空間であり、Java プログラミング言語でのパッケージと同じルールに従います。次に例を示します:
android create project \ --target 1 \ --path ./myProject \ --activity MyActivity \ --package com.example.myproject
このツールは次のファイルとディレクトリを生成します:
AndroidManifest.xml
- アプリケーションのマニフェスト ファイル。指定したプロジェクトの Activity クラスと同期されます。build.xml
- Ant 用のビルド ファイルです。default.properties
- ビルド システム用のプロパティです。このファイルを変更しないでください。build.properties
- ビルド システム用のカスタマイズ可能なプロパティです。このファイルを編集して、Ant が使用するデフォルトのビルド設定をオーバーライドできます。src/your/package/namespace/ActivityName.java
- プロジェクトの作成時に指定した Activity クラスです。bin/
- ビルド スクリプト用の出力ディレクトリです。gen/
- Ant
が生成するファイル(R.java
など)が含まれます。 libs/
- プライベート ライブラリが含まれます。res/
- プロジェクト リソースが含まれます。src/
- ソース コードが含まれます。tests/
- テスト用に、上記のすべての複製が含まれます。プロジェクトを作成すると、開発を始める準備ができます。開発のために、プロジェクト フォルダをどこにでも移動できますが、アプリケーションをエミュレータに送信するために(方法については後述します)、SDK の tools/
ディレクトリにある Android Debug Bridge(adb)を使用する必要があります。そのためにプロジェクト ソリューションと tools/
フォルダ間でアクセスする必要があります。
注: SDK ディレクトリは移動させないでください。移動するとビルド スクリプトが機能しなくなります(ビルド スクリプトをもう一度機能させるには、手動でスクリプトを更新して、SDK の新しいロケーションを反映させる必要があります)。
Android SDK の古いバージョンからプロジェクトをアップグレードする場合や、既存のコードから新しいプロジェクトを作成する場合は、android update project
コマンドを使って新しい開発環境に合わせてプロジェクトを更新します。このコマンドを使って(--target
オプションにより)、既存のプロジェクトのビルド ターゲットを修正することもできます。android
ツールは、指定された Android プロジェクトの必要に応じて、欠落している、または更新を必要としているファイルやフォルダの生成を行います。生成物は前セクションに記述されたリストどおりです。
既存の Android プロジェクトを更新するには、コマンドラインを開き、SDK の tools/
ディレクトリに移動します。ここで次を実行します:
android update project --target <targetID> --path path/to/your/project/
target
は、アプリケーションの「ビルド ターゲット」です。これは、プロジェクトをビルドする Android プラットフォーム ライブラリ(Google API のようなアドオンも含まれます)に対応します。使用可能なターゲットとそれに対応する ID の一覧を表示するには、android list targets
を実行します。path
は、プロジェクト ディレクトリのロケーションです。次に例を示します:
android update project --target 2 --path ./myProject
Android アプリケーションの開発を始めると、Android アプリケーションをエミュレータや端末上のシステムにインストールする前に、どの Android アプリケーションにもデジタル署名が必要であることがわかります。解決策としては「デバッグ キー」を使用する方法(エミュレータや開発用端末上ですぐにテストする場合)と、非公開キーを使用する方法(アプリケーションを配布する場合)の 2 つがあります。
Android のビルド ツールを使用すると、ビルド時にデバッグキーを使用して .apk ファイルに自動的に署名できるので、スムーズな開発が可能です。つまり、独自の非公開キーを生成しなくても、アプリケーションをコンパイルして、エミュレータにインストールすることができます。ただし、アプリケーションを公開する場合は、SDK ツールが生成したデバッグ キーではなく、独自の非公開キーを使用してアプリケーションに署名する必要があります。
アプリケーションへの署名をご覧ください。Android でのアプリケーションへの署名と、Android アプリケーション デベロッパーにとっての署名の意味について説明しています。
アプリケーションのビルドには、アプリケーションをテスト/デバッグするための「デバッグ モード」と、リリース用の最終パッケージをビルドするための「リリース モード」の 2 つがあります。前のセクションで説明したように、アプリケーションをエミュレータや端末にインストールする前に、アプリケーションに署名する必要があります。
デバッグ モードとリリース モードのどちらでビルドしているかに関係なく、プロジェクトをコンパイルし、ビルドするには Ant ツールが必要です。これにより、エミュレータや端末にインストールする .apk ファイルが作成されます。デバッグ モードでビルドすると、.apk ファイルは SDK ツールによりデバッグ キーを使用して自動的に署名されるので、インストールの準備がすぐに整います(ただし、エミュレータまたは接続された開発用端末上にのみインストールできます)。リリース モードでビルドされた .apk ファイルは署名されないので、Keytool と Jarsigner を使って、独自の非公開キーで手動で署名する必要があります。
アプリケーションへの署名の内容をよく理解する必要があります。また、アプリケーションをリリースしてエンドユーザーと共有することを計画している場合は非常に重要です。「アプリケーションへの署名」では、非公開キーを生成し、それを使用して .apk ファイルに署名する手順について説明しています。ただし、開発を始めたばかりであれば、デバッグ モードでビルドすることにより、エミュレータまたは独自の開発用端末でアプリケーションをすぐに実行できます。
Ant をお持ちでない場合は、Apache Ant ホームページから入手してください。Ant をインストールして、必ず実行可能パスに置きます。Ant を実行する前に、「JAVA_HOME」環境変数を宣言して JDK のインストールパスを指定する必要があります。
注: Windows 上に JDK をインストールすると、デフォルトでは「Program Files」ディレクトリにインストールされます。このパス名にはスペースが含まれるために、ant
は実行されません。この問題は、JAVA_HOME 変数を次のように指定することで解決できます: set JAVA_HOME=c:\Prora~1\Java\
ただし最も簡単な解決策は、JDK をスペースを含まないディレクトリ(例: c:\java\jdk1.6.0_02
)にインストールすることです。
アプリケーションのテストとデバッグをすぐに行いたい場合は、デバッグ モードでアプリケーションをビルドし、すぐにエミュレータにインストールすることができます。デバッグ モードでは、ビルド ツールはデバッグ キーを使用してアプリケーションに自動的に署名します。ただしアプリケーションはリリース モードでテストすることも可能であり、リリース モードでのテストは推奨されています。デバッグ モードは、手動でアプリケーションに署名しなくても、アプリケーションを実行できるようにします。
デバッグ モードでビルドするには:
ant debug
Android アプリケーションの .apk ファイルがプロジェクトの bin/
ディレクトリに、<your_DefaultActivity_name>-debug.apk
という名前で作成されます。このファイルはデバッグ キーで署名済みです。
ソース ファイルまたはリソースを変更するたびに、アプリケーションの最新バージョンをパッケージングするために、Ant を再度実行する必要があります。
アプリケーションをエミュレータにインストールして実行する方法については、下記のアプリケーションの実行セクションをご覧ください。
アプリケーションをエンドユーザーにリリースして配布する準備ができたら、アプリケーションをリリース モードでビルドする必要があります。リリース モードでビルドした後、最終的な .apk ファイルを使用して追加のテストとデバッグをすることをおすすめします。
リリース モードでビルドするには:
ant release
これにより Android アプリケーションの .apk ファイルがプロジェクトの bin/
ディレクトリに、<your_DefaultActivity_name>.apk
という名前で作成されます。
注: .apk ファイルはこの時点では署名されていません。つまり非公開キーで署名するまで、エミュレータや端末にインストールすることはできません。
リリース モードではアプリケーションを署名せずにビルドを行います。このため、アプリケーションをエンドユーザーに配布するためには、次に非公開キーを使用して署名を行う必要があります。この手順を行う方法については、Signing Your Applicationをご覧ください。
非公開キーを使用してアプリケーションに署名すると、アプリケーションをエミュレータや端末にインストールできるようになります。これについては次のアプリケーションの実行のセクションで説明します。次の方法でウェブ サーバーから端末にインストールすることもできます。署名した APK をウェブサイトにアップロードし、Android ウェブブラウザでその .apk の URL を読み込んでアプリケーションをダウンロードし、インストールを開始します(端末上では、[設定] > [アプリケーション] を選択し、[提供元不明のアプリ] をオンにする必要があります)。
端末のハードウェア以外でアプリケーションを実行する場合は、アプリケーションのインストール先となるエミュレータを起動する必要があります。Android エミュレータのインスタンスは、特有の端末構成に合わせて設定された、特定の Android プラットフォームを実行しています。このプラットフォームと構成は、Android 仮想デバイス(AVD)で定義されます。そのためエミュレータを起動する前に、AVD を定義しなくてはいけません。
端末ハードウェアでアプリケーションを実行する場合は、代わりに、端末のでの開発 をご覧ください。
tools/
ディレクトリに移動します。android list targets
次のように選択可能な Android ターゲットのリストが表示されます:
id:1 Name: Android 1.1 Type: platform API level: 2 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id:2 Name: Android 1.5 Type: platform API level: 3 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
アプリケーションを実行する Android プラットフォームに一致するターゲットを探します。id
の番号を書き留めておき、次のステップで使用します。
android create avd --name <your_avd_name> --target <targetID>
SDK の tools/
ディレクトリから、上記で作成した既存の AVD を使用してエミュレータを起動します:
emulator -avd <your_avd_name>
エミュレータのインスタンスが起動し、AVD で定義されたターゲットと構成が実行されます。
SDK の tools/
ディレクトリから .apk をエミュレータにインストールします:
adb install /path/to/your/application.apk
複数のエミュレータが実行中の場合、-s
オプションでシリアル番号を指定して、アプリケーションをインストールするエミュレーションを指定する必要があります。次に例を示します:
adb -s emulator-5554 install /my/project/path/myapp.apk
エミュレータで、使用可能なアプリケーションのリストを開き、実行するアプリケーションを探して開きます。
実行するアプリケーションがエミュレータ上にない場合、同じ AVD を指定してエミュレータを再起動してください。Activity を初めてインストールすると、アプリケーション ランチャに表示されず、他のアプリケーションからアクセスできないことがあります。パッケージ マネージャは通常、エミュレータの起動時にしかマニフェストを完全には調べないためです。
ヒント: 実行中のエミュレータが 1 つしかない場合、1 つの簡単なステップで、アプリケーションをビルドし、エミュレータにインストールすることができます。プロジェクトのルート ディレクトリに移動し、Ant を使用してインストール モードでプロジェクトをコンパイルします(ant install
)。これにより、アプリケーションがビルドされ、デバッグ キーにより署名され、現在実行中のエミュレータにインストールされます。現在実行中のエミュレータが複数あると、install
コマンドは失敗します。複数のエミュレータからの選択を行うことはできません。
上記で使用したツールについて詳しくは、次のドキュメントをご覧ください:
このセクションでは、画面上でのデバッグ情報(CPU の使用率など)の表示方法や、総合開発環境に接続してエミュレータ上で実行するアプリケーションをデバッグする方法について説明します。
Eclipse プラグインを使用すると、デバッガへの接続は自動化されます。しかし他の総合開発環境でも、デバッグ ポートをリッスンしてデバッグ情報を受信するように設定することができます: