Android使用Gradle统一配置依赖版本

前言

目前的Android开发为了减少编译时间,开发效率,大多都采用模块化,组件化的开发方式。 采用这种方式不可避免的将会用到多个Library。 那么当我们协同开发时,如何处理每个人的版本统一呢?

我想大部分人应该都在使用Gradle来依赖管理,还没有使用的去面壁思过,Gradle使用起来简直太好用了,举个例子,我们想依赖个support-v4包,直接一句话:

compile ‘com.android.support:support-v4:25.1.0‘

但是不知道你们发现一些问题没有?比如以后v4版本号如果升级了怎么办?你可能会说直接手动改下版本号就好了,又不费多少精力。是的,只有这一个地方当然很简单,假设你项目里引用了三四个module,而这些module里也引用了v4包,那就要把所有依赖v4的包全部手动更改,这是一个项目,而如果你又是多个项目呢?这还只是一个v4包,假设又有多处地方依赖okhttp呢?而且下次所有的compileSdkVersion跟buildToolsVersion都要跟着升级呢?每次版本更新都要手动更改简直太麻烦了,而且还容易遗漏某些地方。

下面我们看看常规的方式:

此项目有主项目app和一个模块modulebase,对于个module目录下的build.gradle文件:

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.liyunlong.gradleconfig"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:25.1.0‘
    compile ‘com.android.support:design:25.1.0‘
    compile ‘com.android.support:recyclerview-v7:25.1.0‘
}

这一段重复的配置,难道每新增一个libs,我们都需要去手动配置成一样的?有没有更好的方式呢?那么今天就来给大家提供一种解决方案完全解决这种问题。我们根本性的解决这个问题就是通过一个配置文件来管理所有的Gradle依赖。那么具体怎么实现呢?

  • 第一步:在主项目的根目录下创建config.gradle文件
  • 第二步:将我们需要的配置信息写入config.gradle文件,配置信息如下:

注意:我们此处对应的版本号和之前主项目与libs的一样。

  • 第三步:在主项目根目录下的build.gradle文件中加入一句代码:
apply from: "config.gradle"

具体如下图:

  • 第四步:在项目的所有module中引用我们的路径配置。如下图:

至此,大功告成,我们所有的libs均可采用此种配置,一次配置,终身享受。是不是很简单方便呢?以后所有的版本号或者配置的更改直接更改这个文件就好了,而且可以把所有项目中使用到或者可能使用到的第三方库都塞到这里管理,用到了就依赖,用不到就放里面就好了。

示例下载

时间: 2024-10-09 09:53:25

Android使用Gradle统一配置依赖版本的相关文章

gradle 统一配置

gradle 统一配置 Android 当项目中要使用或者导入比较多的module的时候,为每一个module管理一些插件版本是很重复的一件事情 所以需要寻找一种能够对重复配置进行统一管理的方法 在project 根目录,新建 config.gradle文件 在这里配置你需要统一管理的元素 # ext 是必须的,且只能用这个名字 ext {  // Version of compile sdk  COMPILE_SDK_VERSION = 23  // Version of Android bu

Android Studio中Gradle统一管理版本号引用配置

Gradle统一管理版本号引用配置 为了提高项目开发效率,在实际项目开发过程中往往会引入一些开源框架,还有项目中使用的各种module,moudle过多时最好提供一种统一的方式去管理版本号,如:compileSdkVersion.buildToolsVersion.androidTestCompile 等,便于日后对版本号进行维护,此处记录2种方式处理上述问题. 方式一 1.在项目根目录下创建.gradle文件,如:config.gradle 2.在根目录下的build.gradle文件中引入我

Android多个Module统一配置相同jar或库的版本号

Android Studio多个Module依赖相同的库时对版本号进行统一配置 在Android项目中,一个项目经常会依赖其他的一个甚至多个库文件,在这种依赖的时候最常见的一个错误就是 jar包版本不同引起jar包冲突,最常见的做法就是 删掉其中一个,只留下一个,就不会发生版本不同的问题了(但是也有的时候可能不能删除).所以就有另外一种解决方案 将所有的相同的jar包修改成相同的版本号 就可以了.但是像一些常用的包,每个依赖的Module中可能都有,导致我们 每一次修改版本的时候都需要查找每个M

Android - Gradle项目构建依赖

Gradle项目构建依赖 本文地址:http://blog.csdn.net/caroline_wendy Android使用Gradle构建时,由于模块之间的依赖关系,和Gradle升级的兼容性,会导致异常,常见的问题: (1) Error: No such property: target for class: com.android.build.gradle.LibraryExtension_Decorated. 删除target = 'android-20',最新版本的Gradle已经不

Android使用Gradle进行打包混淆,包括依赖Library

下面的脚本100%能用,只要你的版本和路径配置正确 环境:Eclipse  Windows 7 Gradle:2.3 Android项目里面包含了多个Library 主项目配置: settings.gradle 文件配置library库 include 'lib_01' include 'lib_02' project(':lib_01').projectDir = new File('D:\\pj1') project(':lib_02').projectDir = new File('D:\

Android build.gradle 配置

一.初始配置:(新建项目自动配置好的): 1.build.gradle(app) apply plugin: 'com.android.application' //下边apk重命名使用 static def buildTime() { def date = new Date() def formattedDate = date.format('yyyyMMdd-HHmm') def iml = new File('app/app.iml') if (iml.exists()) { return

Android studio第一次使用配置(三)gradle项目构建

1.gradle的概念 2.gradle配置jar包.和libs目录导入jar包的差别 3.签名打包: (1)Studio (2)命令行 (3)gradle wrapper的原理 4.BuildConfig的使用 5.简介module中build.gradle文件參数含义 一.gradle的概念: gradle是一个构建工具 gradle是以Groovy语言为基础的 gradle主要面向的是Java语言 打开Android Studio内置的终端,在输入例如以下命令查看gradle版本号: gr

Android Studio之gradle的配置与介绍

1.gradle的简单介绍 Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具.其实Gradle脚本是基于一种JVM语言- Groovy,再加上DSL组成的.由于Groovy是JVM语言,所以可以使用大部分的Java语言库.所谓DSL就是专门针对Android开发的插件,比如标准Gradle之外的一些新的方法(Method).闭包(Closure)等等.通过我们简单的了解知道Gradle的语法足够简洁和简单,而且可以使

Android Studio 下项目的依赖配置

Android Studio 下项目的依赖配置 背景 项目需要用到一个github上的开源库swipelistview,原来在eclipse环境下配置过相关的依赖(导入jar包或者是lib依赖),但是在Android Studio下还是没有操作过.上网查了一下相关的资料,在stackoverflow上找到了答案.根据上面的介绍,结合实际情况,完成了依赖配置. stackoverflow答案地址 有两种方式来进行依赖配置. 1. 使用aar包(这个不太清楚原理和效果,简单查了一下和maven相关,