本帖最后由 奇犽 于 2019-2-13 15:07 编辑
传统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项目,方法如下:- 新建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>
复制代码
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>
复制代码
|