android-maven-plugin
今更かって感じだけど、android-maven-pluginを使ってAndroidアプリプロジェクトを管理出来るようにしてみる
事前事項
どうやら最近のandroid-maven-pluginなバージョンだとMaven3じゃないと出来ない模様。なのでMaven3を導入しておく
ディレクトリ構造
├── AndroidManifest.xml ├── pom.xml └── src └── main ├── java │ └── sample │ └── test │ └── MainActivity.java └── resources ├── drawable-hdpi │ └── ic_launcher.png ├── layout │ └── main.xml └── values └── strings.xml
な感じで構成する。あくまで今回はスタンダードなプロジェクト構成で後日maven submodule方式的な所もやる予定で(ry
pom.xml
<?xml version="1.0" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>sample</name>
<groupId>kinjouj</groupId>
<artifactId>sample.test</artifactId>
<version>0.1</version>
<packaging>apk</packaging>
<properties>
<android.sdk.path>/opt/android</android.sdk.path>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.2</version>
<extensions>true</extensions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<!-- デフォルトならプロジェクトルートにresっていうディレクトリを作れば良い -->
<resourceDirectory>src/main/resources</resourceDirectory>
<sdk>
<platform>18</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
んな感じで作って
mvn clean install android:deploy
な感じでやれば端末にもデプロイ出来る
余談: Eclipse使って開発する場合
普通にeclipse:eclipseゴールで.classpath等のEclipseでインポートするのに必要なファイルを生成させる。でその後、Androidプロジェクトとしてでは無く通常のプロジェクトとしてインポートする
https://code.google.com/p/maven-android-plugin/wiki/EclipseIntegration に書いてるようにm2e-androidプラグインを導入すれば良いみたいで。でそのページ言ってみるとEclipseマーケットプレイスを使う事でインストール出来るらしい
(但し、ページには「Android Connector for Maven」って記載されているがそれが見つからない。おそらくは「Android Configurator for Maven」の方じゃないかと。名称は違うが開発している人が同様な物っぽいので)
あとはプロジェクトをMavenプロジェクトとしてマージして右クリックから実行なりでclean installゴール辺りを実行すればビルドされる
終わり。個人的な所感としては、今時ならgradle向けなプラグインを使った方が楽なんだけど、そうなるとEclipseで開発する事が出来ない(AndroidStudioじゃないと出来ないはず)のでそこら辺の微妙な所が問題ないのであればそれ使えば良いんじゃねーかって所。gradle版とかでも同様だとは思うけど、Jenkinsとかを使ってビルドするとかの要件にはそれなりに適してそうな気もする