美文网首页
Gradle使用小技巧

Gradle使用小技巧

作者: 大冷月 | 来源:发表于2021-07-02 23:06 被阅读0次
    1. 设置全局的依赖缓存位置

    配置环境变量
    GRADLE_USER_HOME=D:\dev\Android\.gradle
    以后IDE的Gradle user Home会默认指定到GRADLE_USER_HOME,下载的依赖缓存会在这个目录下

    IDE Gradle user Home配置
    2. 配置全局的Maven仓库

    在GRADLE_USER_HOME目录下创建init.gradle,并写入以下内容。
    repositories {
    maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    }


    参考:
    https://www.cnblogs.com/langtianya/p/5220212.html
    init.gradle文件在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作
    例如配置build日志输出、配置你的机器信息,比如jdk安装目录,配置在build时必须个人信息,比如仓库或者数据库的认证信息,and so on.
    启用init.gradle文件的方法:
    1、在命令行指定文件,例如:gradle --init-script yourdir/init.gradle -q taskName.你可以多次输入此命令来指定多个init文件
    2、把init.gradle文件放到USER_HOME/.gradle/ 目录下.
    3、把以.gradle结尾的文件放到USER_HOME/.gradle/init.d/ 目录下.
    4、把以.gradle结尾的文件放到GRADLE_HOME/init.d/ 目录下.
    如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本
    类似于build.gradle脚本,init脚本有时groovy语言脚本。每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会
    委托给这个gradle实例,每个init脚本都实现了Script接口

    3. 强制从远程仓库拉最新的SNAPSHOT版本
    //1. 在app下的build.gradle里面增加如下代码,与android平级
    
    configurations.all {
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
    
    
    //2. 在根目录下的build.gradle里面allprojects节点下增加
    configurations.all {
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
    
    
    4. 强制项目某个依赖的版本
    //在根目录下的build.gradle里面allprojects节点下增加
    configurations.all {
        resolutionStrategy {
            force 'com.google.code.gson:gson:2.8.0'
        }
    }
    
    5. 强制排除项目中某个依赖
    //在根目录下的build.gradle里面allprojects节点下增加
    configurations.all {
        resolutionStrategy {
            exclude group: 'com.google.code.gson', module: 'gson'
        }
    }
    
    6. 依赖某个SDK时,排除调它依赖的某个SDK
    implementation('com.xxx.xxxxx:0.1.8') {
            exclude group: 'com.xx.x', module: 'aaa'
    }
    

    相关文章

      网友评论

          本文标题:Gradle使用小技巧

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