爲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

這裏面的配置。

 

 

相關文章
相關標籤/搜索