apply plugin: 'com.android.application' 应用Android的gradle插件到当前构建脚本,此插件其实继承自gradle的application插件,使用application插件,可以通过添加task来运行或把Java项目构建为基于命令行的程序。
Android gradle插件具有application插件的功能,同时会应用java插件和distribution插件,后两个插件用来自动化编译和发布java程序的。
android
这个Android gradle插件提供的元素,用于配置android相关的构建选项,包括:
compileSdkVersion 指定构建时使用的Android SDK版本
buildToolsVersion 指定构建工具的版本,构建工具可以使用Android SDK Manager来安装,可以安装多个版本,如图:
官方建议这里指定的构建工具的版本最好大于等于目标SDK版本(targetSdkVersion)。
defaultConfig元素里的配置对应AndroidManifest.xml文件,优先级比AndroidManifest.xml文件里的配置高。gradle支持对一个项目构建多种版本,比如试用版 、商业版,每个版本可以有自己的defaultConfig。
buildTypes元素默认定义了debug和release两种构建,debug构建出来的APK将包含调试符号,并且以debug key进行签名,而release类型的默认是没有签名的。minifyEnabled为true表示启用自动清除无用代码,用于软件包瘦身。proguardFiles指定了代码混淆使用的相关文件。
工程依赖dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
这里的dependencies是gradle工程定义的元素,指定此工程依赖什么。compile这个方法指定要添加什么来编译主程序,这些东西将最终被打包进APK中。
fileTree(dir: 'libs', include: ['*.jar']) 将返回一个文件树对象,这些文件位于app/libs目录,并以.jar结尾。
整句代码的意思就是把当前工程目录的libs目录下所有jar文件加入编译时classpath中,并打包进APK。这是本地二进制库依赖的写法。
而 compile 'com.android.support:appcompat-v7:22.2.0' 表示依赖位于仓库中的appcompat库及其版本,位于Android Support Library中,如果本地没有安装Android Support Library,使用Android SDK Manager进行下载。(进阶:当然,还可以指定依赖其它工程,以及除compile外的其它依赖类型,具体见 《依赖管理介绍》 )
至此,我们已经大概了解了AndroidStudio默认工程有关gradle的脚本。其实AndroidStudio IDE提供了很多设置,这些设置修改后,AndroidStudio会自动更新相关的build.gradle和*.properties文件。如果我们手工编辑build.gradle文件,AndroidStudio将提示我们进行sync(同步)操作,以便这些配置反映到IDE界面上。
参考链接:
更多Android Studio相关内容可以看看以下的有用链接:
在Ubuntu 15.04下安装Android Studio
Ubuntu 12.04(64位)安装Android Studio 全过程
Android Studio设置主题 和 不支持中文的问题解决方法
Android Studio 下载安装以及不能打开的解决办法