GoogleからGoogle Play Servicesが提供され、Eclipseからインポートしてapklibとして使えば
簡単にGoogleMapなどの機能が利用できるようになった。
がしかし、Mavenでビルドする際には別途依存関係を記述する必要があり、
maven-android-sdk-deployerのサイトには下記のようにせよと書いてある。
<dependency> <groupId>com.google.android.gms</groupId> <artifactId>google-play-services</artifactId> <version>7</version> <type>apklib</type> </dependency> <dependency> <groupId>com.google.android.gms</groupId> <artifactId>google-play-services</artifactId> <version>7</version> <type>jar</type> </dependency>
Mavenだけならこれでいいんだけど、Eclipseからビルドしようとすると
jarが重複してエラーになる。そこで、上記の設定から
取り除き、Mavenビルド専用のプロファイルに依存関係を移動する。
<profile> <!-- デフォルトはlocal --> <id>local</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <overrideResourceName>local</overrideResourceName> <signDebug>true</signDebug> </properties> </profile> <profile> <id>release</id> <properties> <overrideResourceName>release</overrideResourceName> <signDebug>true</signDebug> </properties> <dependencies> <dependency> <groupId>com.google.android.gms</groupId> <artifactId>google-play-services</artifactId> <version>7</version> <type>jar</type> </dependency> </dependencies> </profile>
ということでMavenはリリース用ビルドのみ行うこととし、-Pでプロファイル名を付けてあげればOK
//コマンドは適当 mvn package -P release