android build.gradle调用config.gradle属性

android原生,app.gradle调用config.gradle的属性:

    参考:(完全按照人家写法,稍作整理作为笔记作为以后参考,不喜勿喷!
        https://www.jianshu.com/p/5d1a84bc5210
        https://www.jianshu.com/p/b675c553212f
    
    情况一:文件放在项目的 app目录下
    
            在app.gradle引用:(apply from: 'config.gradle')
    
    情况二:文件放在项目的 项目根目录下

            在项目根目录下的build.gradle中引用:(apply from: 'config.gradle')

 

具体使用:

gradle

第一先看config.gradle的代码写法:

ext{/* 必须ext,定义所有project公用参数 */

    ApplicationId = "com.bai.news" //包名

    MinifyEnabled = false //是否混淆

    android = [
            compileSdk : 28,// 用于编译的SDK版本
            buildTools : "28.0.2",// 用于Gradle编译项目的工具版本
            minSdk     : 19,// 最低支持Android版本
            targetSdk  : 28,// 目标版本
            versionCode: 1,//版本号
            versionName: "1.0",//版本名
            kotlin_version:'1.3.30'
    ]

    // App dependencies
    appcompatVersion = "28.0.0"
    constraintVersion = "1.1.3"
    junitVersion = "4.12"
    runnerVersion = "1.0.2"
    espressoVersion = "3.0.2"

    supportV4Version = "26.1.0"
    designVersion = "28.0.0"

    //公共的(系统的)
    roots = [
            //项目基本的(每个项目需要的)
            "appcompatV7"               :   "com.android.support:appcompat-v7:${appcompatVersion}",
            "constraint"                :   "com.android.support.constraint:constraint-layout:${constraintVersion}",
            "junit"                     :   "junit:junit:${junitVersion}",
            "runner"                    :   "com.android.support.test:runner:${runnerVersion}",
            "espresso"                  :   "com.android.support.test.espresso:espresso-core:${espressoVersion}",
            "appcompatV4"               :   "com.android.support:support-v4:${supportV4Version}",
            "design"               :   "com.android.support:support-v4:${designVersion}",
    ]

    //bus总线
    externalEventBus = 'org.greenrobot:eventbus:3.1.1'

    //第三方框架
    thirdFrame = [
            "gson"                      :"com.google.code.gson:gson:2.8.0", //gson解析
            "glide"                     :"com.github.bumptech.glide:glide:3.7.0", //glide
            "picasso"                   :"com.squareup.picasso:picasso:2.71828", //picasso
    ]

    //App需要导入的第三方框架
    appThirdFrame = [
            thirdFrame.gson,
            thirdFrame.glide,
            thirdFrame.picasso,
    ]

    //res资源文件
    resSource = [
            'src/main/res',
            'src/main/res-main/home',
    ]
}

第二先看项目build.gradle的对config的引用:

apply from: "config.gradle"//需要引入使用,app gradle才可以调用
buildscript {
    ext.kotlin_version = '1.3.30'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

第三先看APP的build.gradle的代码写法:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion rootProject.ext.android.compileSdk
    buildToolsVersion rootProject.ext.android.buildTools
    defaultConfig {
        applicationId ApplicationId
        minSdkVersion rootProject.ext.android.minSdk
        targetSdkVersion rootProject.ext.android.targetSdk
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled MinifyEnabled
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            buildConfigField "boolean", "LOG_DEBUG", "true"//是否输出LOG信息
        }
    }

    //资源分包 ( https://www.jianshu.com/p/f5a49d54e16e )
    sourceSets{
        main {
            res.srcDirs = [ resSource.each{it} ]
        }
    }
}

dependencies {

    //依赖系统库
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation roots.appcompatV7
    implementation roots.appcompatV4
    implementation roots.constraint
    testImplementation roots.junit
    testImplementation roots.design
    androidTestImplementation roots.runner
    androidTestImplementation roots.espresso

    //依赖其他第三方库  形式一
    implementation externalEventBus

    //导入第三方框架    形式二
    appThirdFrame.each {
        implementation it
    }

}

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠天515

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值