美文网首页
Android Studio里的Gradle 2019-05-2

Android Studio里的Gradle 2019-05-2

作者: 勤劳的蚂蚁 | 来源:发表于2019-05-27 19:17 被阅读0次

    参考:

    学习Android Studio里的Gradle

    https://blog.csdn.net/innost/article/details/48228651
    理解根目录下的build.gradle

    
    buildscript {// 构建脚本引用
        repositories {//插件仓库配置 https 连接并通过CDN 来提供
            jcenter()
        }
        dependencies {//以来插件
            classpath 'com.android.tools.build:gradle:1.3.0'
        }
    }
     
    allprojects {// 全部项目的配置
        repositories {//全部项目引用的基础仓库配置
            jcenter()
        }
    }
     
    task clean(type: Delete) {//声明任务
        delete rootProject.buildDir  //删除主路径 buildDir 文件夹 ,主文件目录下的build 文件夹
    }
    

    buildscript 编译脚本的意思 ,其在构建脚本的时候使用,里面一般有两个值 repositories ,dependencies ,其中dependencies 中的插件都是从 repositories 中的仓库获取,Androidstudio 默认配置jcenter 库。
    allprojects 所有项目 引用的仓库配置,其从里面 获取 jar包等内容,常见的配置有 jcenter ,mavenCenter,
    google ,阿里的依赖库。。

    allprojects {
        repositories {
            jcenter{ url "http://jcenter.bintray.com/"}
            maven { url "https://maven.google.com" }
            maven { url "https://dl.google.com/dl/android/maven2/" } /* 解决android.arch.lifecycle:extensions:1.1.1*/
            /* lrecyclerview 使用*/
            maven { url "https://jitpack.io" }
            // 华为离线推送
            maven {url 'http://developer.huawei.com/repo/'}
            //maven { url "http://10.136.192.250:8083/repository/maven-releases/" }
            maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
            repositories{
                flatDir{
                    dirs 'libs'
                }
    
            }
        }
    }
    

    task clean声明了一个任务,任务名叫clean(也可以改为其它),任务类型是Delete(也可以是Copy),就是每当修改settings.gradle文件后点击同步,就会删除rootProject.buildDir下的文件(实际上我看到的效果是清除了External Libraries里的包,然后又添加了一次)。

    
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    // Gradle中可以使用“//”或“/**/”来添加注释,与Java类似。
    // 根目录下的build.gradle用于添加子工程或模块共用的配置项。
    
    // "buildscript"的类型为script block,而且是最上层的script block,用于配置Gradle的Project实例。其API文档为https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:buildscript(groovy.lang.Closure)
    // 其余的根script block有"allprojects", "dependencies", "configurations"等,更多的可见https://docs.gradle.org/current/dsl/的“Build script structure”一节。
    // Script Block是一种method的调用,传入的参数为configuration closure。执行后会对Project的属性进行配置。
    // 此处的"buildscript"用于配置Project的build script的classpath。
    buildscript {
        // 如果需要的话,从https://jcenter.bintray.com/下载code reposities。
        repositories {
            jcenter()
        }
        // 定义classpath,gradle会从“repositories”中下载对应版本的Gradle。如果使用gradle wrapper的话,感觉这个配置会被忽略。Wrapper会自己去下载所使用的gradle版本。
        dependencies {
            classpath 'com.android.tools.build:gradle:2.1.3'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    // 该配置会被应用到所有的子工程。
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    // 运行gradle clean时,执行此处定义的task。
    // 该任务继承自Delete,删除根目录中的build目录。
    // 相当于执行Delete.delete(rootProject.buildDir)。
    // gradle使用groovy语言,调用method时可以不用加()。
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    

    相关文章

      网友评论

          本文标题:Android Studio里的Gradle 2019-05-2

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