zoukankan      html  css  js  c++  java
  • 使用Jenkins进行android项目的自动构建(6)

    之前已经介绍过使用Maven做构建,在来介绍一下Gralde的自动化构建。

    什么是Gralde?官方的解释是

    Gradle is an open source build automation system. Gradle can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else.
    
    Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven into a more effective way to build. Powered by Build Programming Language, Gradle is concise yet expressive.

    环境搭建步骤跟Maven的大致相同,只需要将Maven的用Gralde替换。

    下载Gralde,解压,并将Gralde的bin目录加入到环境变量PATH,然后配置Jenkins,选择“管理 Jenkins”->“設定系統”,将刚才Gralde的目录路径填入相应设定中。最后在Jenkins的外挂程式中安装Gradle plugin。

    Gralde的具体例子

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
      repositories {
            mavenCentral()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:1.0.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            mavenLocal()
            maven {
                url "http://localhost/repo"
            }
        }
    }
    apply plugin: 'com.android.application'
    //apply plugin: 'com.android.library'
    
    android {
        compileSdkVersion 21
        buildToolsVersion "21.1.2"
    
        defaultConfig {
            applicationId "com.example.demo"
            minSdkVersion 15
            targetSdkVersion 21
            versionCode 1
            versionName "2.1.1"
        }
    
        signingConfigs {
            releaseConfig {
                storeFile file(System.getenv("KEYSTORE"))
                storePassword System.getenv("KEYSTORE_PASSWORD")
                keyAlias System.getenv("KEY_ALIAS")
                keyPassword System.getenv("KEY_PASSWORD")
            }
        }
    
        buildTypes {
            release {
                signingConfig signingConfigs.releaseConfig
            }
        }
    
        packagingOptions {
            exclude 'META-INF/LICENSE.txt'
        }
    
        lintOptions {
            abortOnError false
        }
    
        sourceSets {
            main {
                manifest {
                    srcFile 'src/main/AndroidManifest.xml'
                }
                java {
                    srcDir 'src/main/java'
                }
                res {
                    srcDir 'src/main/res'
                }
                assets {
                    srcDir 'assets'
                }
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile project(':framework')
        compile 'com.example:libxxx:1.0'
    }

     Jenkins中专案的组态设定也需要做一下改动

  • 相关阅读:
    vba根据部门分别汇总不同部门下的人员不同培训内容的时长总计,多条件求和
    vb 案例学习
    bat批处理如何删除本地策略里的用户权限分配中的拒绝从网络访问本机项的guest用户?
    vb,wps,excel 提取括号的数字
    vb,wps,excel 分裂
    vba,excel,网址提取名字与链接url
    母亲节到了 ,送什么礼物好,按键音乐提示,键盘测试,新手电脑
    MySql 数据表从1开始计数
    关于缓存的几点问题
    订单路由定时任务
  • 原文地址:https://www.cnblogs.com/pasco/p/4330207.html
Copyright © 2011-2022 走看看