引用:Gradle是一种基于Groovy的动态DSL,而Groovy语言是一种基于jvm的动态语言。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
一般我们新建一个项目的大致结构如下:
看看 model 里面的 gradle 详细配置
//表示该 model 是一个 app modeule ,运用了 com.android.application 这个插件
apply plugin: 'com.android.application'
// 表示我们引用了library 库
apply plugin: 'com.android.library'
android {
compileSdkVersion 24 //基于哪一个 sdk 版本编译的
buildToolsVersion "24.0.2" //基于哪一个buildTools 构建的
defaultConfig { // module 创建默认的配置
applicationId "quicksilver.fengunion.com.myapplication" //项目的包名
minSdkVersion 14 //最低兼容到那个sdk 版本
targetSdkVersion 24//这里 只是一个声明,它不会帮我们做什么,只不过是在相同的版本手机上,运行效率会搞一些,不会帮我们做低版本的兼容处理,还需要在低版本手机上重新跑一遍程序,以便达到兼容。
versionCode 1 // 版本号
versionName "1.0" //版本名称
//InstrumentationTestRunner 运行junit3类型的测试用例(具体不了解)
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes { // 构建类型 分为 release 和 debug
release {
minifyEnabled false // 是否混淆 设置为 true 就是混淆 可以在启用 zipAlign 以及配置签名信息等
// 引用混淆配置文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies { // 这个不是 android 有的配置,它定义了该module需要依赖的jar,aar,jcenter库信息
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 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
proguard-rules.pro 配置文件 在讲解 混淆的时候在讲解
整个项目的 build.gradle 配置结构
buildscript {
repositories {
jcenter() //使用 jcenter 库的依赖 , module 里面 的gradle 配置的// dependencies {}引用的配置就是从这里下载的,以前是 maven
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0' //这个是 gradle 插件的版本
//有时候打开别人的项目可能提示 gradle 版本过高或者过低,
// 就可以在这里来进行更改版本号就可以了
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter() // 为所有的module 配置 jcenter 库的使用
}
}
// 用来清除我们 module 构建时候的 builde 文件下的文件(自己理解 )
task clean(type: Delete) {
delete rootProject.buildDir
}
这就是 gradle 的一个简单认识!敬请关注下一篇!