傳統java項目開發都會利用maven、ant在hudson、jenkins中持續集成,開發、測試、每日構建,保證代碼質量。maven默認不支持android,可是咱們能夠利用
maven-android-plugin插件來讓maven支持android。
環境
- jdk 1.6及以上
- Android sdk(r21及以上),最好是最高版本,最好也安裝一下ndk
- Maven 3.0.3及以上,貌似3.1.0很差使,最好使用3.0.5版 設置ANDROID_HOME環境變量,將$ANDROID_HOME/tools、$ANDROID_HOME/platform-tools加入到環境變量中
測試環境
下載示例程序,經過跑這些程序,能夠檢測環境是否OK,而且下載maven須要的jar包。
示例程序
使用Maven進行Android開發
新建Maven Android項目
具體命令參考
此處
手動建立Maven Android項目
有些是歷史項目,也能夠手動將其改爲maven項目,方法以下:
- 新建pom.xml文件,拷貝其餘maven項目的也可。
- 修改<groupId>,<artifactId>,<name>
- 修改<version>,默認是<version>0.1.0-SNAPSHOT</version>
- 增長android jar包依賴:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>1.5_r4</version>
<scope>provided</scope>
</dependency>
可在此處查看android全部版本 5. 在android-maven-plugin配置中,配置android platform的版本,如<platform>7</platform>6. 能夠刪除build.xml、build.properties、bin和libs。 7. 打apk包mvn clean install,將apk包安裝到設備中mvn android:deploy
示例pom.xml以下:
<?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>
<parent>
<groupId>com.yeetrack</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.encoding>utf-8</maven.compiler.encoding>
<platform.version>4.1.1.4</platform.version>
<android.plugin.version>3.6.0</android.plugin.version>
</properties>
<groupId>com.yeetrack</groupId>
<artifactId>app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>app</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId>
<version>r7</version>
</dependency>
</dependencies>
<!-- 配置pmd、findbugs -->
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5</version>
<configuration>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
</configuration>
</plugin>
</plugins>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<sdk><platform>16</platform></sdk>
<manifest>
<debuggable>true</debuggable>
</manifest>
</configuration>
<!--<executions>
<execution>
<goals>
<goal>ndk-build</goal>
</goals>
<configuration>
<attachNativeArtifacts>true</attachNativeArtifacts>
</configuration>
</execution>
</executions>-->
<extensions>true</extensions>
</plugin>
</plugins>
</build>
使用Maven進行Android單元測試