maven-android-plugin でAndroidプロジェクトを開始する方法
maven-android-plugin を用いて、Androidプロジェクトを作成する方法について解説します。 基本的には、公式プロジェクトページの GettingStarted に則っています。
事前準備/必要条件
以下のソフトウェアがインストールされている必要があります。
- Android の開発には JDK 1.6 以上の環境が必要です。
- Android SDK (r21.1 以上, もちろん最新版が良い) がインストールされていること
- Maven 3.0.3 以上がインストールされていること
(参考:maven3 インストール手順 (Windows) / maven3 インストール手順 (Mac OS X) )
また、環境変数に以下が設定してある必要があります。
- 変数「ANDROID_HOME」をインストールした Android SDK に設定してください。
-
変数 「PATH」 に 「$ANDROID_HOME/tools」 と 「$ANDROID_HOME/platform-tools」 を追加してください。
(環境が Windows であれば 「%ANDROID_HOME%¥tools」 と 「%ANDROID_HOME%¥platform-tools」 です) - Macをお使いの方は、上記の環境変数の設定を /etc/launchd.conf で設定するように。(ファイルがない場合は作成します。) これはコンソールとIDEの両方で変数を有効にするためみたいです。
以上の設定が行えたかどうかをテストしたい場合には、サンプルアプリケーションをダウンロードし、実行してみると良いでしょう。
Androidプロジェクトを作成する
GitHubにて akquinet が公開している android-archetypes という Archetype を利用してプロジェクトを作成します。 ここでは、公開されているいくつかの Archetype のうち、ANDROID-QUICKSTART-ARCHETYPE を利用してAndroidプロジェクトを作成します。
ここからは、akquinet の STAND for Android のページ の説明に沿って記述します。
ANDROID-QUICKSTART-ARCHETYPE
このアーキタイプは、実機およびエミュレータで動作できるダミーのAndroidアプリケーションを作成します。コマンドは以下の通りです。
mvn archetype:generate \
-DarchetypeArtifactId=android-quickstart \
-DarchetypeGroupId=de.akquinet.android.archetypes \
-DarchetypeVersion=1.0.8 \
-DgroupId=your.company \
-DartifactId=my-android-application
必要であれば、以下のオプションも利用することができます。
- -Dpackage=your.company.android : パッケージを指定します。 デフォルトは groupId を利用します。
- -Demulator=my-avd : 利用するAndroidエミュレータの名前を指定します。
- -Dplatform=7 : ターゲットとするAndroidプラットフォームを指定します。 Android SDK のバージョンは、APIレベルにあったものが自動的に選択されます。 ここで指定できるAPIレベルは、3, 4, 7, 8, 9, 10, 14 です。 デフォルトは 10 (Android 2.3.3) となっています。
一度作成してしまえば、いつでもビルドとデプロイができます。
apkファイルの作成は、以下のコマンドで行えます。 プロジェクトの target フォルダに出力されます。
mvn package
Androidエミュレータ、もしくは接続したAndroid端末実機にデプロイするには、以下のコマンドでおこないます。
cd my-android-application
mvn clean install android:deploy
エミュレータにデプロイする場合には、エミュレータを立ちあげておく必要があります。 自動的に起動しているエミュレータを検出して、そこにアプリをインストールしてくれます。 ただしインストールが完了してもアプリは自動的に起動しませんので、アプリのリストに追加されたことを確認して起動してあげてください。
作成したAndroidプロジェクトをEclipseにインポートする
ここまででAndroidアプリを作成するためのテンプレートができましたので、Eclipseにプロジェクトをインポートし、ソースコードの変更を進められるようにします。
まずは maven-eclipse-plugin を利用して、Eclipseプロジェクトファイルを作成します。 以下のようにコマンドを実行します。
mvn eclipse:eclipse
しかし、これではプロジェクトが Java プロジェクトとして .project ファイルが作成されてしまいます。 Androidプロジェクトとして .project ファイルを作成してくれませんので、 .project ファイルを開いて下記の記述を追加します。
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature> <!-- ←追加 -->
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
変更が終了したら、AndroidアプリケーションのプロジェクトをEclipseにインポートします。 すると、「Package Explorer」のプロジェクトアイコンにビックリマークが付いている場合があります。(以前にEclipseにMavenの設定をした事がある人などはついていないかもしれません)
Problems View を開いてエラー内容を確認してみると「Unbound classpath valiable: ‘M2_REPO’ in project ‘YourProjectName‘」などというエラーメッセージがあります。 クラスパスに ‘M2_REPO’ という変数がない場合にでるので、変数をEclipseの設定に追加します。
プロジェクトを右クリック → 「Properties」 → 「Java Build Path」 → 「Libraries」のタブ → 「Add Variable」のボタンをクリック → 「Configure Valiables」のボタンをクリック → 「NEW」をクリック → Nameには「M2_REPO」と入力し、Pathは通常であればあなたのユーザーフォルダ (C:¥ユーザー¥YourName など) の下に「.m2」というフォルダがあり、その直下のフォルダ「repository」を選択する。これでエラーの警告が消えたと思います。
以上で、maven-android-plugin を利用してAndroidアプリプロジェクトを作成する手順の説明は終了です。 今回はアーキタイプに ANDROID-QUICKSTART-ARCHETYPE を利用しましたが、他にも多くの種類のアーキタイプがあります。 既にAndroidのプロジェクト構成に拘りのある方は、自分にあったアーキタイプを探すと良いと思います。
では、Good Android Development Life!!