Android Studio是基于Gradle构建系统而编写的。当用户新建一个AS项目时,系统已经默认给出了两个gradle的版本和一些其他的配置文件。
在Android视图下,你可以看到所有与gradle有关的文件都在文件夹Gradle Scripts下:
1. local.properties
指示Android SDK的位置。如果用户有多个版本的SDK,并想要使用自定义的某一个,可以在这里进行SDK位置的修改。-> 也可以通过图形界面进行修改:File -> Project Structure -> SDK Location -> 在Android SDK Location中可修改当前项目的SDK的位置,在JDK Location中可以修改JDK的位置(注意:这里的JDK是指整套的,不能仅仅只有Java Runtime,即JRE)
⚠ 注意:当前项目,也就是说,用户可以给不同的项目设定不同版本的SDK和JDK
2. gradle.properties
默认文件中全都是注释,并没有代码,但在程序编写过程中,它可以有许多关于gradle的设置。比如说第10行,用于gradle的存储空间管理,与android设备上的app完全无关。
注释最后有一个参考文档的URL,可以进行深入了解,关于修改或配置。
3. build.gradle
可以看到项目中有两个同名文件-build.gradle。但注意,它们的文件等级不同:
3-1. 顶层文件build.gradle
也被称为项目文件,一般情况下不需要被修改。它有两个引用的方法jcenter(),与依赖有关;有一个classpath,是gradle插件的包和版本信息,一般毋需修改,在AS升级之后,可能会看到classpath的值被自动修改。
3-2. app文件夹下的build.gradle
用于修改许多与app相关的配置:第一行中的 'com.android.application'
是属于该程序的独一无二的标识码,在Google Play商店发布时需要用到;minSdkVersion和TargetSdkVersion也可以在这里配置。许多都是原来在AndroidManifest.xml文件中的属性,都可以这里进行修改。
⚠ 注意:要修改minSdkVersion和TargetSdkVersion时,必须与已安装的API版本匹配,比如要把TargetSdkVersion改成19,那么要先去SDK Manager那里下载API 19,诸如此类。
对于compileSdkVersion和buildToolsVersion,建议用最新版本的编译工具,万一有多个项目,某个需要特定使用18版,则多个版本的同时存在也是没有问题的
最后一部分是关于依赖的,例如第25行引用了Android的支持库,版本为7(v7),而且是专门针对API 级别24的(24.1.1);第23行引用了文件夹libs,理论上,它应该包括了所有在libs文件夹中的jar包(如这里的27和28行)
依赖(dependency) 是AS和Gradle中的新概念,理解gradle如何引用并运用它们是很关键的!