51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2032|回复: 0

[转贴] Android开发、测试持续集成环境Jenkins搭建

[复制链接]

该用户从未签到

发表于 2019-2-13 15:06:10 | 显示全部楼层 |阅读模式
本帖最后由 奇犽 于 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包依赖:
  1. <dependency>
  2.     <groupId>com.google.android</groupId>
  3.     <artifactId>android</artifactId>
  4.     <version>1.5_r4</version>
  5.     <scope>provided</scope>
  6. </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如下:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.     <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4.        <modelVersion>4.0.0</modelVersion>

  5.        <parent>
  6.           <groupId>com.yeetrack</groupId>
  7.           <artifactId>parent</artifactId>
  8.           <version>1.0-SNAPSHOT</version>
  9.        </parent>

  10.        <properties>     
  11.            <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>      
  12.            <maven.compiler.encoding>utf-8</maven.compiler.encoding>
  13.           <platform.version>4.1.1.4</platform.version>
  14.           <android.plugin.version>3.6.0</android.plugin.version>
  15.        </properties>

  16.        <groupId>com.yeetrack</groupId>
  17.        <artifactId>app</artifactId>
  18.        <version>1.0-SNAPSHOT</version>
  19.        <packaging>apk</packaging>
  20.        <name>app</name>

  21.        <dependencies>
  22.           <dependency>
  23.              <groupId>com.google.android</groupId>
  24.              <artifactId>android</artifactId>
  25.              <version>4.1.1.4</version>
  26.              <scope>provided</scope>
  27.           </dependency>

  28.           <dependency>
  29.                <groupId>com.google.android</groupId>
  30.                <artifactId>support-v4</artifactId>
  31.                <version>r7</version>
  32.         </dependency>

  33.      </dependencies>

  34. <!-- 配置pmd、findbugs -->
  35. <reporting>
  36. <plugins>
  37.   <plugin>
  38.     <groupId>org.codehaus.mojo</groupId>
  39.     <artifactId>findbugs-maven-plugin</artifactId>
  40.     <version>2.5</version>
  41.     <configuration>  
  42.                 <xmlOutput>true</xmlOutput>  
  43.                 <effort>Max</effort>  
  44.             </configuration>  
  45.   </plugin>
  46. </plugins>
复制代码
  1. <build>
  2.     <finalName>${project.artifactId}</finalName>
  3.     <sourceDirectory>src</sourceDirectory>

  4.     <plugins>
  5.         <plugin>
  6.                     <groupId>com.jayway.maven.plugins.android.generation2</groupId>
  7.                     <artifactId>android-maven-plugin</artifactId>
  8.                     <version>3.6.1</version>
  9.                     <configuration>
  10.                             <sdk><platform>16</platform></sdk>
  11.                             <manifest>
  12.                                 <debuggable>true</debuggable>
  13.                             </manifest>
  14.                     </configuration>
  15.                     <!--<executions>
  16.                             <execution>
  17.                                 <goals>
  18.                                         <goal>ndk-build</goal>
  19.                                 </goals>
  20.                     <configuration>

  21.                                         <attachNativeArtifacts>true</attachNativeArtifacts>
  22.                                 </configuration>
  23.                             </execution>
  24.                     </executions>-->
  25.                     <extensions>true</extensions>
  26.                 </plugin>

  27.         </plugins>
  28.     </build>
复制代码






回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 07:59 , Processed in 0.062257 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表