android maven环境搭建:
- Maven的版本要求3.1.1
- 设置ANDROID_HOME环境变量:ANDROID_HOME=C:\Android\android-sdk-windows
- 在Path环境变量里面加入:%ANDROID_HOME%\tools; %ANDROID_HOME%\platform-tools
- 打开SDK Manager, 要完整安装android的版本,不然会报错。
- 下载 Maven Android SDK Deployer
- cd maven-android-sdk-deployer-master
默认运行mvn clean install会安装全部平台的apis,android 1.5, android 2,.....
所以如果你没有完全下载这些apis会报错。
因为我在android 4.0下开发,所以可以运行
mvn clean install -P 4.0
这时候需要慢慢等。。。。
更多信息可以看maven android sdk deployer的github主页。 - eclipse安装m2e android插件,直接在eclipse marketplace搜索安装。
插件主页:http://rgladwell.github.io/m2e-android/
创建项目:
一切准备就绪了,可以新建一个maven的android项目。
- 新建一个Maven Project (File -> New -> Project... then select Maven -> Maven Project).
- 在 Select Archetype 界面单击 Add Archetype...
- 在 Archetype Group Id 输入 "de.akquinet.android.archetypes"
- 在 Archetype Artifact Id 输入 "android-quickstart".
- 在 Archetype Version 输入 "1.0.11" 接着 next
-
propertyies:
platform: 14 (default 16)emulator: not-specifiedandroid-plugin-version 3.8.2 (defalut 3.6.0但会报错,没找到原因) - Finish.
项目结构:

额。。。。pom.xml文件有错误,是因为我设置了
android-plugin-version 3.8.2。
Plugin execution not covered by lifecycle configuration:com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.8.2:consume-aar (execution:default-consume-aar, phase: compile)
我上网找了一下都没有找到方法,但是不影响项目编译。。。。。
运行项目:
打包apk, 发布和运行项目:
mvn clean install android:deploy android:run
Eclipse Run Configurations设置

对于新建项目的:
在新建项目的时候可以采用archetype(项目原型)的方式构建,在向导内选择项目原型,分别有
de.akquinet.android.archetypes:android-quickstart:1.0.6——用于快速构建一个android-maven项目
de.akquinet.android.archetypes:android-quickstart:1.0.6——用于快速构建一个android-maven项目
de.akquinet.android.archetypes:android-with-test:1.0.6——用于构建一个带有测试的android-maven项目
de.akquinet.android.archetypes:android-release:1.0.6——用于构建一个可以发布的android-maven项目,其中包含了一个纯maven的父项目及两个子android-maven项目
在项目创建之后,还有点需要修改的,由于android-maven-plugin原名为maven-android-plugin,因为某种关系在某个版本之后更名为android-maven-plugin,但在这个原型内还是使用旧的maven-android-plugin,所以需要使用新插件的必须手动修改plugin.artifactId及其plugin.version
附上android maven小例子
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.jiepu</groupId>
<artifactId>maven_android_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>apk</packaging>
<name>maven_android_test</name>
<!-- 运行命令mvn clean install android:deploy android:run -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version>4.1.1.4</platform.version>
<android.plugin.version>3.8.2</android.plugin.version>
<!-- 或者配置ANDROID_SDK 环境变量 -->
<!-- <android.sdk.path>E:/android/sdk/android-sdk-windows</android.sdk.path> -->
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${platform.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>16</platform>
<path>E:/android/sdk/android-sdk-windows</path>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>