Android Gradle 版本参数优化

Android Gradle 版本参数优化

在 Gradle 项目结构中,每一个 Module 都对应一个 build.gradle。有时每个 Module 都会需要配置相同的版本号或者相同的版本依赖。为了解决相同参数重复配置的问题,可以在项目的根目录下增加一个公用的配置文件 common_config.gradle,在公用配置文件提供 Android app 模块、Android library 模块、java library 模块的公用配置。

common_config.gradle

每一个模块的 build.gradle 都对应一个 project 对象,可以将 project 传递给 common_config 定义的 setAppDefaultConfig 闭包,从而实现参数配置。common_config.gradle 可以根据具体情况修改,如果项目不使用 kotlin,可以在 common_config 去掉 kotlin 依赖。

common_config.gradle 如下:

project.ext {

    versions = [
            "compileSdkVersion": 29,
            "buildToolsVersion": "29.0.3",

            "minSdkVersion"    : 19,
            "targetSdkVersion" : 29,
            "versionCode"      : 1,
            "versionName"      : "1.0.0",

            "junit": "4.13",

            "kotlin": "1.3.72"
    ]

    dependencieLibs = [
            "appcompat"         : "androidx.appcompat:appcompat:1.1.0",

            // kotlin
            "kotlin-stdlib-jdk7": "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions["kotlin"]}",
            "kotlin-reflect"    : "org.jetbrains.kotlin:kotlin-reflect:${versions["kotlin"]}",

            // test
            "junit"             : "junit:junit:${versions["junit"]}"
    ]

    setAppDefaultConfig = { extension ->
        extension.apply plugin: 'com.android.application'
        extension.apply plugin: 'kotlin-android'
        extension.description 'app'

        setAndroidConfig extension.android

        setDependencies extension.dependencies
    }

    setLibDefaultConfig = { extension ->
        extension.apply plugin: 'com.android.library'
        extension.apply plugin: 'kotlin-android'
        extension.description 'lib'

        setAndroidConfig extension.android

        setDependencies extension.dependencies
    }

    setJavaLibDefaultConfig = { extension ->
        extension.apply plugin: 'java-library'
        extension.apply plugin: 'kotlin'
        extension.description 'javalib'

        setDependencies extension.dependencies

        extension.sourceCompatibility = JavaVersion.VERSION_1_8
        extension.targetCompatibility = JavaVersion.VERSION_1_8
    }

    setAndroidConfig = { extension ->
        extension.compileSdkVersion versions['compileSdkVersion']
        extension.buildToolsVersion versions['buildToolsVersion']

        extension.defaultConfig {
            minSdkVersion versions['minSdkVersion']
            targetSdkVersion versions['targetSdkVersion']
            versionCode versions['versionCode']
            versionName versions['versionName']

            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }

        extension.compileOptions {
            targetCompatibility = JavaVersion.VERSION_1_8
            sourceCompatibility = JavaVersion.VERSION_1_8
        }

        extension.kotlinOptions {
            jvmTarget = JavaVersion.VERSION_1_8
        }
    }

    setDependencies = { extension ->
        extension.implementation fileTree(include: ['*.jar'], dir: 'libs')
        extension.implementation dependencieLibs['kotlin-stdlib-jdk7']
        extension.implementation dependencieLibs['appcompat']
        extension.testImplementation dependencieLibs['junit']
    }
}

配置说明

versions

版本号定义

dependencieLibs

所有模块都用到的公有依赖

setAppDefaultConfig

Android application 模块的配置闭包

setLibDefaultConfig

Android library 模块的配置闭包

setJavaLibDefaultConfig

Java library 模块的配置闭包

setAndroidConfig

android 的 配置闭包,也就是 build.gradle 的 android {} 配置

setDependencies

依赖的配置闭包,也就是 dependencies {} 配置

专有配置

如果某个模块除了公有配置之外,还有它自己所需的依赖,可以在 setAppDefaultConfig 之后添加专有的 dependencies {} 依赖。

app 模块的 build.gradle 如下:

apply from: "${rootProject.rootDir}/common_config.gradle"

project.ext.setAppDefaultConfig project

dependencies {
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
功能简介 “易行辅助”试用版是把“易行象棋连线器试用版”每次5分钟自动连接,以方便试用,还增加了 时间查看等小功能。 “易行辅助”正式版是把“易行象棋连线器试用版”的限时和限次“取消”,增加了计时等小功能。 此辅助每5分钟会自动(亦可手动,右键点此程序的托盘图标选择)初始化一次,此时请勿操作。 注意:试用版只能用75分钟,正式版要注册才能使用!!!! 易行简介 易行象棋连线器是一款棋软及象棋游戏的辅助工具软件,其采用独特的棋盘识别方法,能连过去许多连线不能连的网站,如:JJ中国象棋、越南象棋网、大师网、面对面、同城游戏、中游、联众等。该连线支持多种棋软连线自动下棋,如:天机、旋风、兵河 五四、奇兵、大圣等象棋软件。该软件能随时对任意局面进行连接,能人机操作。可以遮挡棋软和客户端界面。 目前已通过测试的象棋游戏:JJ中国象棋、QQ新中国象棋、QQ旧中国象棋(角色版)、大师网、奕天棋缘、金游世界、同城游、面对面、泓弈象棋网、中游、联众。 使用说明 1、试用版限制使用15次,每次时间5分钟,本辅助会把15次自动连接,可连续使用(共75分钟)1次。 试用版界面上方显示的是每次使用的时间,鼠标右键点本“辅助”托盘图标可以查看剩余时间。 2、正式版界面上方显示的是“辅助”程序运行时间,无使用次数限制,亦无时长限制。正式版要注 册才能使用,联系QQ:48377000。 3、退出本“辅助”,请使用鼠标右键点击本“辅助”右下图标的“退出” 注意事项 1、为了快速上手,如果你使用兵河界面,请使用“系统默认兵河方案界面图”中相同的界面, 系统默认兵河方案是兵河初始的棋盘和底图,小棋子,这样可以不需要做方案直接的连线。 2、“JJ金色赛场自动打擂.exe”注册后才能使用,建议在正常走棋后再打开此工具,不能关闭 “赛场展示:金色娱乐场”窗口。鼠标右键点此程序的托盘图标,有相关功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值