版权声明:本文为博主原创文章,未经博主允许不得转载。


目录​​(?)​​​​[+]​​


目的:

避免在依赖包出新版本时,需要对每个module中的build.gradle文件都进行修改(如appcompat-v7包),使用这种方式即只需一次修改。

方法一

  • 在项目的根目录创建一个gradle配置文件config.gradle,格式如下(内容根据需要进行修改):
    项目中所有的依赖只要在这个文件中统一做一次修改即可。
ext {
android_support_version = '23.2.0'

android = [ compileSdkVersion: 23 ,
buildToolsVersion: "23.0.2",
applicationId : "com.wiky.test" ,
minSdkVersion : 14 ,
targetSdkVersion : 23,
versionCode : 1 ,
versionName : "1.0" ]

dependencies = [
//android.support
"appcompat-v7" : "com.android.support:appcompat-v7: ${android_support_version}",
"design" : "com.android.support:design: ${android_support_version}",
"recyclerview-v7" : "com.android.support:recyclerview-v7: ${android_support_version}",
] }
  • 其次在根目录的build.gradle文件中添加内容(apply from:”config.gradle”),如图:
  • Gradle统一依赖管理_Android

  • 加上这一行代码,意思就是所有的module都可以从这个(config.gradle)配置文件里读取内容。
  • 在app(module)目录下的build.gradle文件中使用如下:
android {  
compileSdkVersion rootProject .ext.android.compileSdkVersion
buildToolsVersion rootProject .ext.android.buildToolsVersion
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
}
...
}
dependencies {
...
compile rootProject .ext.dependencies[ "design"]
compile rootProject .ext.dependencies[ "appcompat-v7"]
compile rootProject .ext.dependencies[ "recyclerview-v7"]
...
}

方法二:

  • config.gradle 文件如下
ext {
// Version of compile sdk
COMPILE_SDK_VERSION = 23
// Version of Android build tool
BUILD_TOOLS_VERSION = "23.0.3"
// Min version of Android sdk
MIN_SDK_VERSION = 9
// Version of target Android sdk
TARGET_SDK_VERSION = 23
// Use progurad or not
MINIFY_ENABLED = true
MINIFY_DISABLED = false
// Version of "com.android.support:appcompat-v7", refer it as folow:
// compile "com.android.support:appcompat-v7:${APPCOMPAT_VERSION}"
APPCOMPAT_VERSION = '23.2.0'
// Version of "junit", refer it as folow:
// compile "junit:junit:${JUNIT_VERSION}"
JUNIT_VERSION= '4.12'
}
  • 其次在根目录的build.gradle文件中添加内容(apply from:”config.gradle”),如图:
  • Gradle统一依赖管理_Android

  • 在app(module)目录下的build.gradle文件中使用如下:
apply plugin : 'com.android.library'
android {
compileSdkVersion COMPILE_SDK_VERSION
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion MIN_SDK_VERSION
targetSdkVersion TARGET_SDK_VERSION
versionCode 1
versionName "1.0.0"
}
buildTypes {
release {
minifyEnabled MINIFY_DISABLED
proguardFiles getDefaultProguardFile('proguard-android.txt' ), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir : 'libs', include: ['*.jar' ])
testCompile "junit:junit: ${JUNIT_VERSION} "
compile "com.android.support:appcompat-v7: ${APPCOMPAT_VERSION} "
}

方法三

在属性文件(gradle.properties)中配置(google i/o 2015用的是这种方式):

如:在gradle.properties中配置相应的版本号(可以理解为定义一个常量参数)

Gradle统一依赖管理_Android_03

在app/build.gradle中使用如:

Gradle统一依赖管理_Android_04