发表于: 2016-08-17 21:25:32
1 694
- 一 句话说明 GradleGradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。例:输入 苹果,梨子,香蕉。 输出 水果沙拉。 这就是构建的含义。叫做——make或者build1:灵活的语言构建规则——构建的方式:利用一个基于java的语言——Groovy。 一门把java语言写的像脚本一样简单的语言。Groovy把我们写完的语言编译为 javaclass 然后启动 虚拟机执行。2:Gradle是一种DSL :—— 它的特别的一种语言。二 Groovy介绍Groovy是一种动态语言,Groovy扩展了Java语言。具有像Python, Ruby 和 Smalltalk 语言特性的灵活动态语言一:变量定义可以使用关键字def,定义变量的时候可以不指定其类型,函数定义时也可以不指定。返回值也可以不指定类型,最后一行就是返回值二作为动态语言,Groovy世界中的所有事物都是对象java中的基本数据类型 ,在Groovy中都是 包装类。Groovy中的容器类很简单,就三种:List:链表,Map:键-值表,Range:范围,它其实是List的一种拓展。三 闭包三 Gradle 是设么Gradle只是运用到Groovy的一小部分基础。Gradle是一个工具,同时它也是一个编程框架。一 何是编程框架每一个待编译的工程都叫一个Project。每一个Project在构建的时候都包含一系列的Taskgradle 只是制定规责。 制定Task 。 然后具体操作由各种插件完成。 例:编译java代码的task 用 java插件完成。task是Gradle中的一种数据类型,它代表了一些要执行或者要干的工作。不同的插件可以添加不同的Task。每一个Task都需要和一个Project关联。setting.gradle 告诉Gradle这个multiprojects包含哪些子projects:build.gradle 构建。apply 是一个函数。apply plugin: 'com.android.library' <==如果是编译Library,则加载此插件apply plugin: 'com.android.application' <==如果是编译Android APP,则加载此插件apply from: rootProject.getRootDir().getAbsolutePath() + "/utils.gradle" 读取utils.gradle中数据 读取配置文件中的versionName,或者是copy jar包/APK包到指定的目录// 声明是Android程序,apply方法,加载 编译 android App 时 加载此插件apply plugin: 'com.android.application'android {// 编译SDK的版本compileSdkVersion 21// build tools的版本buildToolsVersion "21.1.1"defaultConfig {// 应用的包名applicationId "me.storm.ninegag"minSdkVersion 14targetSdkVersion 21versionCode 1versionName "1.0.0"}// java版本compileOptions {sourceCompatibility JavaVersion.VERSION_1_7targetCompatibility JavaVersion.VERSION_1_7}buildTypes {release {// 是否进行混淆minifyEnabled false// 混淆文件的位置proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'}}// 移除lint检查的errorlintOptions {abortOnError false}}dependencies {// 编译libs目录下的所有jar包compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:support-v4:21.0.2'compile 'com.etsy.android.grid:library:1.0.5'compile 'com.alexvasilkov:foldable-layout:1.0.1'// 编译extras目录下的ShimmerAndroid模块compile project(':extras:ShimmerAndroid')}
评论