眼下Android的开发正如火如荼,开发方式大多数是Android SDK+Eclipse+ADT,大部分的操作都要依赖Eclipse(当然有高手直接敲命令的)。如果项目依赖其它库资源在不同的机器上难免又要设置一番,而且库资源及其依赖管理是相当混乱,针对这种情况,Maven是一个很好的解决方案,下面讲叙述如何将Android的工程与Maven整合。
首先介绍一下需要用到的工具:
Android SDK——这个不用说了,必须的
Eclipse——同上
Android Development Tool(ADT)——相信绝大部分的人都依赖这个插件来开发Android项目的
以上是搭建一个Android项目的基本需要,下面是整合Maven需要的一些工具(插件)
http://www.eclipse.org/m2e/
Maven Eclipse Plugin(m2e)——用过Maven的一般都熟悉这个,这个是一个Eclipse的插件,其具有如下功能:
- 识别工程内的pom.xml,并使用独有的编辑器打开pom.xml
- 将pom.xml内部声明的依赖库添加至“Maven Dependencies”的Library Container,这个是使我们能在EclipseIDE内使用pom.xml内声明的库的主要原因
- 在java builder内加入maven的builder,使从eclipse内执行时能够使用到maven相关功能
- 增加maven的各种独有的运行设置
- 安装好如上的插件,在Android的工程上点右键,弹出菜单Configure->Convert to Maven project
- 配置好项目信息后会生成pom.xml以及工程上的图标已经多出一个小M字
- 更改project的packaging类型为apk
- <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>org.cst.ming.android.sample</groupId>
- <artifactId>sample</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>apk</packaging>
- ......
- 在pom内声明一个build的插件,在maven构建项目的时候就会在target内生成一个apk的文件
- <plugin>
- <groupId>com.jayway.maven.plugins.android.generation2</groupId>
- <artifactId>android-maven-plugin</artifactId>
- <version>3.0.0</version>
- <inherited>true</inherited>
- <extensions>true</extensions>
- <configuration>
- <sdk>
- <platform>7</platform>
- <path>${env.ANDROID_SDK_HOME}</path>
- </sdk>
- <deleteConflictingFiles>true</deleteConflictingFiles>
- <undeployBeforeDeploy>true</undeployBeforeDeploy>
- </configuration>
- </plugin>
- 这时候可以在pom.xml内添加各种的依赖,并且执行mvn clean package即可构建出一个apk文件在target
- 此时已经整合完毕,可以在IDE内通过ADT来启动项目,亦可以通过在pom.xml内配置android-maven-plugin通过mvn android:deploy将项目部署到指定的设备(虚拟机)上,详情可以查阅android-maven-plugin的官方文档
de.akquinet.android.archetypes:android-quickstart:1.0.6——用于快速构建一个android-maven项目