需要があるかどうかは分かりませんが、タイトル通りのことを行いたいと思います。
提供されているSDKではAntがどうやら使われているらしい。
以下、ディレクトリ(今回はAndroid2.2を参考に)
/{ANDROID_HOME}/platforms/android-8/ant
こういう感じでAntなら公式に提供されています。
しかしながら、同じようなビルドツール(枠は超えてるかも)のMaven環境は提供されていない。
自分はAntよりもMaven派なので、Mavenで行えないかということを模索。
どうやらMavenセントラル(http://repo1.maven.org/maven2/)には、android.jarがある模様。
ということは、できるのでは無いかと考えてみた。
maven-android-plugin(http://code.google.com/p/maven-android-plugin/)というものがあるでは無いか
という訳でこいつを使って作ってみることにする。
今回の環境
MacOS X 10.6.4(WindowsではXPで試しています)
eclipse 3.6 with ADT+m2eclipse
Maven 2.2.1
eclipseやMavenの設定は割愛(個人に合わせた設定をお願いします)
eclipseを使うのは、あくまでプロジェクト構成が欲しかった&m2eclipseでmaven連携をしやすくしたい為(プロジェクト構成が作れるならeclipseを使う必要は余り無い)
では手順を進めていきます。
1. eclipseでAndroidプロジェクトを立ち上げます(Activityやパッケージやその他設定はご自由にどうぞ)←今回はデフォルトのHelloWorld
2. BuildpathからAndroidを外す
3. 1で作ったプロジェクトを右クリック→Maven→Enable Dependency Management(この時決めるGroupIDやArtifactはご自由にどうぞ)
4. そうするとpom.xmlが開くので設定を追加していく
5. 以下のようにpom.xmlを記述(重要なのは最終成果<package>と依存関係<depedency>、プラグイン<plugin>←そのままコピペで使えます)
4.0.0
Hello
Hello
apk
0.0.1-SNAPSHOT
com.google.android
android
2.2.1
jar
provided
com.jayway.maven.plugins.android.generation2
maven-android-plugin
2.5.2
com.jayway.maven.plugins.android.generation2
maven-android-plugin
2.5.2
${env.ANDROID_HOME}
8
true
true
org.apache.maven.plugins
maven-compiler-plugin
2.3.1
1.6
1.6
6. 設定が終了したら以下のコマンドでtarget配下に*.apkファイルが出来ている
7. Androidを立ち上げて、出来たものをインストールして動作すれば出来上がり
8. 注意点
・androidのスコープはprovidedにしておく(compileにすると駄目)
・maven-compilerのソースやターゲットは1.5以上にする
・環境変数のパスを設定しておく(ANDROID_HOME)
・<platform> の要素は「/{ANDROID_HOME}/plathome/android-X」のX番号が来る。Android2.2だと8になる
機会があればテストに関しても追記したいと思います。
下記の点、修正しないとエラーかも。。。
返信削除ーなんとかidの箇所が、全部小文字なので、Id(先頭大文字)にする。
ーpluginmanagement は、pluginManagement
ーconfigurationは、要素内に直接1.6とは書かない。(削除)
m2ecilpseのバージョンのせいかな?
私の環境
MacOS X 10.5.8
eclipse 3.6.1 with ADT+m2eclipse 0.12.1.20110112-1712
Maven 2.2.1