apply plugin: com.android.application
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.konka.gradletest"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro
}
}
}
dependencies {
compile fileTree(dir: libs, include: [*.jar])
testCompile junit:junit:4.12
compile com.android.support:appcompat-v7:23.3.0
}4.3.1第一行是一个statement,调用了apply方法,这个方法的定义如下:void apply(Map<String, ?> options);
它的作用是检查gradle有没有所声明的这个插件,有就什么都不做,没有的话就会使插件可用。
具体的每一个script block,它们大部分都是都是方法,都可以在android studio 中按住ctrl鼠标左键,点进去看它的声明,每个方法都有注释来解释它的作用。
4.3.1 android block
android 是这个脚本中最大的块,它包含了andoird特有的插件,这些插件可以使用是因为之前调用了
apply plugin: 'com.android.application',
此外,这里设置了编译android用的参数,构建类型等。4.3.2 dependencies blockdependecies也是一个接受闭包作为参数的方法,这里设置了编译当前的app的依赖。如果当前app依赖外部的包,可以把这个包放到libs目录下面,然后右键,选择add as library,然后就会在这里生成一条compile ' ... '的记录。
4.3.3还有其他的一些配置,比如://这个是解决lint报错的代码 lintOptions { abortOnError false } //<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">签名设置</span> signingConfigs { myConfigs { storeFile file("签名文件地址") keyAlias "..." keyPassword "..." storePassword "..." } } //<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">混淆设置</span> buildTypes { release { signingConfig signingConfigs.myConfigs runProguard true proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } } //<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">渠道打包(不同包名)</span> productFlavors { aaa{ applicationId = 包名 } bbb{ applicationId=包名 } } } //<span style="font-family: Arial, Helvetica, sans-serif; font-size: 9pt;">so文件的导入</span> task copyNativeLibs(type: Copy) { from fileTree(dir: libs, include: armeabi/*.so) into build/lib }总结:以上的所有内容展示了一个gradle工作的大致过程,gradle脚本的组成方式,概括性的介绍了android studio中每个gradle配置脚本的功能,大概的阐述了一些script block的作用。由于这篇博客旨在理解android studio的gradle的工作方式和脚本的做成结构,所以,如果想更详细的理解每一个script block的作用,可以看下《gradle for android》这本书。此外,后续的文章也会有详细的对常用script block的探讨。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-25073-6.html
证明我们有足够的实力保卫国家的任何一寸土地
015-10W*1
还有的多了
表白我大函数~Krystal