为android项目集成maven

为何要为android项目增长maven集成功能呢?这里我想到几个主要理由:java

  • 部署测试人员和开发人员的角色分离,让他们摆脱eclipse开发环境设置android sdk环境,直接在服务器上运行一个命令,而后下载它的apk包,安装到手机上;
  • 开发人员和android market市场发布人员的角色分离,市场发布人员不知道什么是签名等等,也是在服务器端运行命令便可,须要输入密码,这个过程和开发人员隔离;
  • 若是仅有上述两个理由,那么用android默认的ant脚本也能够了,还但愿android项目须要的类库也自动解决依赖问题,那么就使用maven吧。

说一下集成maven的步骤。android

 

首先,要有一个经过eclipse和adt插件生成的android项目。可参见[cref 1448]。git

而后,须要设置环境变量:ANDROID_HOME,对于windows环境,须要在环境变量中添加便可,对于mac,能够在~/.bash_login文件中加入:github

export ANDROID_HOME=/Developer/java/android-sdk-macapache

下载maven-android-sdk-deployer:http://github.com/mosabua/maven-android-sdk-deployer/archives/masterwindows

解压缩下载的文件,而后,经过命令行,进入到解压的目录下,执行:api

mvn clean installbash

这个命令将会把android sdk的jar文件,包括google map等api安装到用户本地repository下。这一步应该不是必须的,我是按照官方文档执行的。由于之后为了解决maven报错的问题我整个删除了本地repository目录,继续使用maven android插件,没有问题。服务器

在现有的eclipse android项目根目录下,建立pom.xml文件:eclipse

<?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.easymorse</groupId>

<artifactId>hello</artifactId>

<version>0.1-SNAPSHOT</version>

<packaging>apk</packaging>

<name>Hello</name>

 

<dependencies>

<dependency>

<groupId>android</groupId>

<artifactId>android</artifactId>

<version>2.1_r1</version>

<scope>provided</scope>

</dependency>

</dependencies>

 

<build>

<sourceDirectory>src</sourceDirectory>

<plugins>

<plugin>

<groupId>

com.jayway.maven.plugins.android.generation2

</groupId>

<artifactId>maven-android-plugin</artifactId>

<version>2.3.3</version>

<configuration>

<sdk>

<platform>7</platform>

</sdk>

<deleteConflictingFiles>true</deleteConflictingFiles>

</configuration>

<extensions>true</extensions>

</plugin>

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.5</source>

<target>1.5</target>

</configuration>

</plugin>

</plugins>

</build>

</project>

 

这里要注意的是,<sdk><platform>中的7表示是目标平台的android sdk版本,即2.1版本。要根据状况作调整,好比使用milestone,应该是6。

为了在下面输入mvn命令能够简化,须要在settings.xml文件中加入:

<pluginGroups>

<pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup>

</pluginGroups>

这样,就能够在项目目录下使用maven命令打包部署了:

mvn clean install android:deploy

或者能够打包:

mvn package

这里默认会使用debug签名打包,若是须要为在android market发布的正式版本,能够参照:http://code.google.com/p/maven-android-plugin/issues/detail?id=2

这里面的配置。

 

 

相关文章
相关标签/搜索