maven-android-plugin で、Androidプロジェクトの構成管理やってみる
既に使いこなしている @miyatay さんからpom.xmlを分けてもらったので、@zaki50 さんと @bols_blue さんと @hidecheck さんと4人で束になって倒してみた。
なにがうれしいの?
構成管理できると、依存関係の追加とか簡単にできて楽だよ!
あと、Hudsonで簡単にCIぶんぶん丸できて幸せらしいよ!!
↑この程度の認識の奴がmavenに手を出すと不幸になるのは確定的に明らか
現在僕は不幸です!!ちくしょう!!(問題点が解決できない)
やってみよう!
正直参考リンクの通りにやれ、で全部終わる予感。
とりあえず動くコード この記事書いてる時は commit 004f0ef
maven-android-plugin GettingStarted
samples サンプルすごい役に立つ
基本的なところ
Eclipseで使うには?
mvn eclipse:eclipse しても、gen周りがうまく行かなくて可哀想な感じになります。
m2eclipseで頑張らないとだめそうです。
しかも、m2eclipseだけじゃだめで、m2eclipse-android-integrationも併せてインストールしておいてください。
んで、プロジェクトを右クリックして Maven→Enable Dependency Management を選択し、もっかいMaven→Update Progect Configurationしてあげてください。
これで、Eclipseで開発ができるようになるはず。Android natureが付加されていない場合は適当に付加して、Build pathからAndroidライブラリの束を取り除いてやったほうがいいかもしれません。(Maven Dependenciesに含まれるandroid-1.6_r2.jarとかとクラスがバッティングする?)
問題点
Eclipseで開発する際、謎のエラーが発生して解決できなくなる場合がある。
Description Resource Path Location Type Conversion to Dalvik format failed with error 1 hellomvntest Unknown Android Packaging Problem
こんなん。プロジェクトをクリーンしても駄目で、ビルドパス関係をごしごしいじくってるとたまに直る。
根本原因がわからんのと、直し方がわからんくてだめです…。
なんか結構m2eclipseのログに赤字のエラーが出てるのが気になるのです…
10/11/03 13:53:48 JST: Build errors for hellomvn; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.jayway.maven.plugins.android.generation2:maven-android-plugin:2.6.0:emulator-start (startemulator) on project hellomvn: 10/11/03 13:53:49 JST: [ERROR] Error when generating sources. No Android SDK path could be found. You may configure it in the pom using <sdk><path>...</path></sdk> or <properties><sdk.path>...</sdk.path></properties> or on command-line using -Dandroid.sdk.path=... or by setting environment variable ANDROID_HOME 10/11/03 13:53:49 JST: Build errors for hellomvntest; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.jayway.maven.plugins.android.generation2:maven-android-plugin:2.6.0:generate-sources (default-generate-sources) on project hellomvntest: No Android SDK path could be found. You may configure it in the pom using <sdk><path>...</path></sdk> or <properties><sdk.path>...</sdk.path></properties> or on command-line using -Dandroid.sdk.path=... or by setting environment variable ANDROID_HOME 10/11/03 13:53:49 JST: [ERROR] Error when generating sources. No Android SDK path could be found. You may configure it in the pom using <sdk><path>...</path></sdk> or <properties><sdk.path>...</sdk.path></properties> or on command-line using -Dandroid.sdk.path=... or by setting environment variable ANDROID_HOME
一応、それでもプロジェクトにエラーは出ず、ちゃんと使えてるっぽいんですけどね…。
SDK pathとかもsettings.xmlに書いてあるはずだし、なんで怒られるのかわかりまてん…。
あと、やぱしapkのサイズが大きくなりがちな傾向があるので、proguardとかでshrinkしたいけどやり方がわからにぃ。
HudsonでCIするには?
id:bols-blue さんと id:hidecheck さんが詳しいです。
d:id:hidecheck:20100918
d:id:hidecheck:20100924
d:id:hidecheck:20101019
d:id:bols-blue:20101019
d:id:bols-blue:20101030
その他
android maven - 過去ログ - Cometeo
今後、@zaki50 さんがmvnからarchetypeでAndroidプロジェクト作れるようにしてくれるっていってたので期待!
みんなもおうえんのついーとをしてあげてください!げへげへ。