美文网首页android技术文章Android知识
如何给你github上的Android项目添加travis-ci

如何给你github上的Android项目添加travis-ci

作者: 花开堪折枝 | 来源:发表于2016-08-29 17:43 被阅读441次

    首先大家可能会问:Travis是什么?可以帮助大家做什么?
    Travis是一个免费的集成测试系统,可以帮助大家做集成测试。这个只是最浅显的回答。今天我们就一起看看如何在Android项目中运用Travis

    两个功能:

    • 自动编译提交的代码,测试最新提交的代码是否可以编译通过
    • 自动在模拟器安装应用,测试应用是否可以正常安装运行

    首先登陆 travis

    Travis 的配置文件名是 .travis.yml,放在项目的根据目录里面,下面是一个简单的例子:

    language: android
    android:
      components:
        # Uncomment the lines below if you want to
        # use the latest revision of Android SDK Tools
        # - platform-tools
        # - tools
    
        # The BuildTools version used by your project
        - build-tools-19.1.0
    
        # The SDK version used to compile your project
        - android-22
    
        # Additional components
        - extra-google-google_play_services
        - extra-google-m2repository
        - extra-android-m2repository
        - addon-google_apis-google-19
    
        # Specify at least one system image,
        # if you need to run emulator(s) during your tests
        - sys-img-armeabi-v7a-android-22
        - sys-img-x86-android-17
    

    Travis的配置文件是使用 yml 一种标记语言编写的,如果有想了解的,可以自行搜索。
    下面我们详细讲解上面脚本里面的元素都是代表什么意思。

    • 首先设置我们的语言,现在是Android应用。
    language: android
    
    • 后面设置我们需用到Android里面相关的编译模块
    android:
      components:
        # 使用 #来写注释
        #如果需要用到tools里面相关的命令,如下添加,我认为默认添加进去就可以了
        - tools
        # platform-tools有两种添加方式,带版本号就是指定版本,如果不指定版本,使用最新版本的,
        # 个人感觉最好使用项目里面相同的版本
        - platform-tools-19.1.0
        # Android sdk版本,如果项目里面有多个子项目,并且使用了多个版本的,这里可以指定
        - android-22
        - android-23
        # google map
        - addon-google_apis-google-19
        # extra android support
        - extra-android-m2repository
        - extra-android-support
        # google play service
        - extra-google-google_play_services
        # google addon extra
        - addon-google_apis-google-19
        # 或者全家桶的意思吧
        - extra
        # 如果你需要使用模拟器测试编译出来的安装包,你需要最少添加一个系统镜像配置
        - sys-img-armeabi-v7a-android-22
        - sys-img-x86-android-17
    
    • 默认travis 会接受所有的 Licenses,但是你也可以定义自己的白名单
    language: android
    android:
      components:
        - build-tools-20.0.0
        - android-L
        - add-on
        - extra
      licenses:
        - 'android-sdk-preview-license-52d11cd2'
        - 'android-sdk-license-.+'
        - 'google-gdk-license-.+'
    
    • 添加模拟器
    # Emulator Management: Create, Start and Wait
    before_script:
      # 修改你的 gradlew的权限,默认gradlew没有权限执行的
      - chmod +x gradlew
    
      - echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
      - emulator -avd test -no-audio -no-window &
      - android-wait-for-emulator
      - adb shell input keyevent 82 &
    
    • 构建的时候,你肯定希望有一个干净的系统,所有需要清除缓存
    before_cache:
      - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
    cache:
      directories:
        - $HOME/.gradle/caches/
        - $HOME/.gradle/wrapper/
    
    • 如果你需要多个版本的jdk
    jdk:
      - oraclejdk8
      - oraclejdk7
      - openjdk6
    

    我现在项目里面的配置

    谢谢阅读到这里,觉得好的点个赞吧 _

    相关文章

      网友评论

      本文标题:如何给你github上的Android项目添加travis-ci

      本文链接:https://www.haomeiwen.com/subject/sbwxettx.html