美文网首页开发百宝箱移动知识
Gradle小技巧-使用config.gradle文件统一管理项

Gradle小技巧-使用config.gradle文件统一管理项

作者: 程起蒙 | 来源:发表于2018-07-20 02:24 被阅读69次
> 我们在项目开发的过程中,通常会使用一些系统组件的依赖和第三方的轮子,为了方便我们管理这些轮子,我们可以为项目引入config.gradle文件去同意管理项目中的依赖
  1. 在项目的根目录下创建config.gradle文件


    config.gradle.png
  2. 编辑 config.gradle,定义项目依赖

在app的build.gradle中,我们通常需要配置两个部分

  • Android 目录下的项目的版本/包名/编译版本等信息
  • dependencies 目录下的安卓Support库和我们自己引用的第三方库
    所以通常我们在config.gradle文件也将依赖分成两个部分 android/dependencies
ext {

    android = [
            compileSdkVersion      : 28,
            buildToolsVersion      : "28.0.0",
            applicationId          : "com.will.weiyue",
            minSdkVersion          : 19,
            targetSdkVersion       : 28,
            versionCode            : 1,
            versionName            : "1.0"
    ]
    //因为support库都是同一个版本,单独拎出来,方便修改
    dependVersion = [
            support: "28.0.0-alpha3"
    ]

    dependencies = [
            // android-support
            "support-v4"            : "com.android.support:support-v4:${dependVersion.support}",
            "appcompat-v7"          : "com.android.support:appcompat-v7:${dependVersion.support}",
            "design"                : "com.android.support:design:${dependVersion.support}",
            "recyclerview"          : "com.android.support:recyclerview-v7:${dependVersion.support}",
            "cardview"              : "com.android.support:cardview-v7:${dependVersion.support}",
    ]
}
  1. 在 项目的 build.gradle文件中引用config.gradle文件
// 在项目build.gradle文件的最外层添加引用
apply from: "config.gradle"
  1. 修改app的build.gradle文件中的项目引用
// 将android 和 dependencies下的引用都指向 config.gradle
// rootProject.ext.android/dependencies  config.gradle文件的路径
android {
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    defaultConfig {
        applicationId rootProject.ext.android.applicationId
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation rootProject.ext.dependencies["appcompat-v7"]
    implementation rootProject.ext.dependencies["constraint-layout"]
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

END 赶紧去试试吧!!

相关文章

网友评论

    本文标题:Gradle小技巧-使用config.gradle文件统一管理项

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