gradle 基础应用:统一配置信息
1.我们可以在主项目的根目录下创建一个文件 config.gradle
2.编写config.gradle中代码配置信息如下:
ext{
android=[
applicationId: "com.example.psw.kcode",
compileSdkVersion: 25,
buildToolsVersion: "26.0.0",
minSdkVersion : 15,
targetSdkVersion : 25,
versionCode: 1,
versionName: "1.0"
]
//Version
supportLibrary = "25.3.1"
//supportLibraries dependencies
supportDependencies = [
supportV7: "com.android.support:appcompat-v7:${supportLibrary}",
supportV4 : "com.android.support:support-v4:${supportLibrary}",
suppoutDesign : "com.android.support:design:${supportLibrary}",
constraint: "com.android.support.constraint:constraint-layout:1.0.2",
Rxjava:"io.reactivex.rxjava2:rxjava:2.1.3"
]
// CompileInfo[
//
// ]
}
3.找到根目录的build.gradle文件 ,进行引入config.gradle文件,build.gradle文件顶部编写引入代码:apply from: “config.gradle”
代码示例:
apply from:"config.gradle"
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
4.module的build.gradle 中使用配置信息
apply plugin: 'com.android.application'
//android配置信息
def config = rootProject.ext.android
//依赖库
def librarys = rootProject.ext.supportDependencies
android {
compileSdkVersion config.compileSdkVersion
buildToolsVersion config.buildToolsVersion
defaultConfig {
applicationId config.applicationId
minSdkVersion config.minSdkVersion
targetSdkVersion config.targetSdkVersion
versionCode config.versionCode
versionName config.versionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile librarys.supportV7
compile librarys.supportV4
compile librarys.suppoutDesign
compile librarys.constraint
compile librarys.Rxjava
testCompile 'junit:junit:4.12'