日积月累--Gradle的使用
来源:互联网 发布:cnc编程用什么软件 编辑:程序博客网 时间:2024/05/22 02:00
前言
本文用于记录对gradle使用的一些新知识。以前记录的都写在了不同的学习笔记了,阅读起来十分的不方便。在此汇总,不断添加。
我对Gradle的理解
Gradle是基于Groovy脚本语言的一个应用构建工具。AndroidStudio中应用的构建用到了Google开发的Gradle plugin,共三个分别为:
对于gradle的学习,可以分成三个层次:
- 入门(能看懂)
- 会用,能写
- 插件的开发
作为一个普通的android开发者,能看懂足以,也就是第一阶段,这个很容易满足。达到第二个层级,就有些难度了,这需要你对Groovy有一个深入的了解,对Google官方的插件会用。对于第三个层次,需要你对Gradle构建框架有一个清晰的认识。以上仅仅是个人理解,不当之处,还请指正。
Gradle的基本结构解析
以下部分内容知识译自官方文档Configuring Gradle Builds 链接被墙,大家可以查看离线的文档。本地文档位置为:~/sdk/docs/tools/building/configuring-gradle.html
除了官方文档外,再推荐几篇写的不错的关于gradle的文章:
- Android Studio系列教程四–Gradle基础
- 拥抱Android Studio:从ADT到Android Studio
- 拥抱Android Studio(二):Android Studio与Gradle深入
项目的build.gradle的基本结构解析
buildscript { repositories { jcenter() //这是构建插件所使用的远程库 } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha3' //这是项目所使用的 Android gradle 版本 }}allprojects { repositories { jcenter() //这是使用远程库依赖的时候,远程库 }}task clean(type: Delete) { delete rootProject.buildDir}
moudle的build.gradle解析
apply plugin: ‘com.android.application’–这是android官方插件,可以参考官方文档(这个文档很重要):Android Plugin DSL Reference,build.gradle出现的那些方法,字段等都来源于这个插件。我们可以将这个插件理解为Gradle构建工具框架。
apply plugin: 'com.android.application' //构建工具插件,这个插件是android官方写的。此外还有com.android.libilary插件。/*这个配置需要放在顶部,并且不同的plugin对应不同的android{..}*/android {//configures all the Android-specific build options://用于配置Android指定的必须的构建选项 compileSdkVersion 19 //用于编译的sdk版本; buildToolsVersion "19.0.0" //构建工具版本 defaultConfig { /* defaultConfig是核心配置,实质是重写了ant中AndroidManifest.xml中的一些配置。.*/ minSdkVersion 8 //最小支持的sdk版本 targetSdkVersion 19 //目标支持sdk版本 versionCode 1 //版本代号 versionName "1.0" //版本名称 } buildTypes { /*buildTypes元素控制着怎样去构建你的app。默认的,构建系统定义两种类型:debug和release版。debug版的构建类型包含了调试符号和debug.key的签名。release构建版默认的不会被签名。下面的得这个例子使用了构建文件ProGuard来配置release版。*/ release { minifyEnabled true //是否需要混淆代码 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //用于混淆的配置文件 } }}dependencies {/*The dependencies element is outside and after the android element. This element declares the dependencies for this module. Dependencies are covered in the following sections.dependencies元素,不在android元素中。这个元素声明了独立于项目的内容。*/ compile project(":lib") //引用项目的包 compile 'com.android.support:appcompat-v7:19.0.1' //引用远程包 compile fileTree(dir: 'libs', include: ['*.jar'])//引用moudle的本地包}
Gradle新知识
通过配置build.gradle来访问一些参数。具体可通过BuildConfig来进行访问
例如:
defaultConfig {
buildConfigField "String","TWITTER_TOKEN",'"SDASJHDKAJSK"'
}
buildTypes {
debug {
buildConfigField "String","API_URL",'"http://api.dev.com/"'
buildConfigField "boolean", "REPORT_CRASHES", "true"
}
release {
buildConfigField "String","API_URL",'"http://api.prod.com/"'
buildConfigField "boolean", "REPORT_CRASHES", "false"
}
}
可以从BuildConfig的final BuildConfig.TWITTER_TOKEN,BuildConfig.REPORT_CRASHES与BuildConfig.API_URL进行访问,后两个根据所在的build类不同也会有差异。
以上知识来源于: 受用不尽的Gradle使用方法与技巧
Gradle官方的一些文档
- Google官方关于android的gradle插件文档Android Plugin DSL Reference
- Gradle官方文档主页:Gradle Documentation包含三部分的内容:
- 用户手册: User Guide 提供一些关于Gradle的基础知识和特性的讲解,适合入门者。
- 索引: DSL Reference 针对经常用到gradle构建工具的用户,提供的索引指南.
- API文档API Reference 提供给插件开发者和高级用户使用的api文档。
1 0
- 日积月累--Gradle的使用
- 日积月累--AndroidStudio使用技巧
- 日积月累:LinearLayout的andrid:layout_weight属性的使用详解
- 日积月累:使用EditText的TextChangedListener时StackOverflowError异常
- 日积月累的过程
- ANDROID的日积月累-时间
- Android的日积月累-问题解决
- 日积月累的知识
- 日积月累的小技巧
- 日积月累
- 日积月累。
- 日积月累
- 日积月累
- 日积月累
- 日积月累
- 日积月累
- 日积月累
- 日积月累
- 【虚幻4】学习总结4-蓝图碰撞与蓝图间的通信
- Java环境变量配置
- php中curl的介绍
- Button
- Bios工程师手边事—SATA
- 日积月累--Gradle的使用
- 断点多线程下载
- 业务层设计
- shellcode
- 左侧栏收缩打开效果
- 学习Android中Application、静态变量和Sharedpreferences的使用与区别
- IOSc程序中按钮点击不灵敏 ios
- Linux下UNIX时间戳(UNIX timestamp)转本地时间
- 四种webAPP横向滑动模式图解—H5页面开发