Android build.gradle详解

什么是gradle?
gradle是一个项目构建工具,java开发中有两个大名鼎鼎的项目构建Maven,Ant,其中maven简单易控深受开发者喜爱。
项目构建工具是什么?能干吗?
开发某些项目时,需要很多jar或者库的支持,还没开始开发就下载了n多个库,浪费了时间不说,这些库之间兼容性又无法保证。删了?白下载了。不删?又不兼容。此时就需要使用项目构建工具,简单的说就是一个可以根据简单的配置文件自动去下载相应包/库的软件。自动的还很简单,不用岂不亏了。多个项目构建工具各有特点,但是核心思想一样。
gradle的特色?
首先,goole推荐使用的Android开发工具中自带了Gradle可见其一定有过人之处。不同于Maven基于XML文件来完成配置,Gradle使用特定的语言(DSL)来声明配置,难度还行,但是简单方便。


下面是开发中的两个build.gradle文件

build.gradle(project MyFirst)

buildscript {repositories {jcenter()   //是一个类似于github的代码托管仓库,声明了此配置,//可以轻松引用 jcenter上的开源项目}dependencies {classpath 'com.android.tools.build:gradle:2.2.2'//gradle是一个强大的项目构建工具,不仅可以构建Android,还可以构建java,C++等//此处引用android的插件}
}allprojects {repositories {jcenter()}
}task clean(type: Delete) {delete rootProject.buildDir
}

build.gradle(Module:app)

// 声明是Android程序,
//com.android.application 表示这是一个应用程序模块
//com.android.library 标识这是一个库模块
//而这区别:前者可以直接运行,后着是依附别的应用程序运行
apply plugin: 'com.android.application'android {// 编译SDK的版本compileSdkVersion 21// build tools的版本buildToolsVersion "21.1.1"defaultConfig {// 应用的包名applicationId "me.storm.ninegag"//Android支持的最低版本minSdkVersion 14        targetSdkVersion 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'//proguard-android.txt 在Android SDK目录下,里面是所有项目的混淆规则//proguard-rules.pro 是当前项目的根目录下的,里面可以编写特有的混淆规则}debug{  //测试版安装文件的配置(可以忽略)}}// 移除lint检查的errorlintOptions {abortOnError false}
}//依赖关系
//本地依赖:可以对本地Jar包或目录添加依赖关系
//库依赖:可以对项目中的库模块添加依赖关系
//远程以来:可以对 jcenter库上的开源项目添加依赖
//
dependencies {// 编译libs目录下的所有jar包compile fileTree(dir: 'libs', include: ['*.jar'])   //依赖声明,标识将libs目录下多有.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')
}

Android build.gradle文件详解相关推荐

  1. Android build.gradle文件详解(转述自《Android第一行代码》第二版)

    Android build.gradle文件详解 1. 最外层目录下的build.gradle文件 1.1 repostories 1.2 dependencies 2. app目录下的build.g ...

  2. 史上最全Android build.gradle配置详解

    Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的.当我们创建一个Android项 ...

  3. Android 中 build.gradle 文件详解

    一.简介 一般来说一个新创建的项目中,有两个 build.gradle 文件,一个是工程目录下的,一个是 app 目录下的,这两个 build.gradle 文件对 Android Studio 项目 ...

  4. Android build.gradle配置详解

    AndroidStudio中的Gradle文件 Android Studio是采用gradle来构建项目的,gradle是基于groovy语言. 如上图所示,创建一个AndroidStudio项目,会 ...

  5. build.gradle文件详解

    一个普通的android项目工程里面有两个build.gradle文件,一个位于根目录,一个位于app文件夹内. 一. 位于根目录的build.gradle // Top-level build fi ...

  6. android 项目build.gradle,Android build.gradle 配置详解

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Gradle 简介 Android Studio 是采用 Gradle 来构建项目的.Gradle 是一个非常先进的项目 ...

  7. Android Studio build.gradle配置详解

    Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的.当我们创建一个Android项 ...

  8. Android 系统(200)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

  9. Android 系统(95)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

最新文章

  1. 【转载】10个最“优秀”的代码注释
  2. 西部数据 MyCloud 网络存储存在 RCE 漏洞
  3. 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
  4. hdu 1054 Strategic Game 二分图最小点覆盖
  5. java json对象 输出_拼json字符串输出java对象
  6. 深入了解Java 8中的可选类API
  7. 百度地图iOS API
  8. fluentd主从配置
  9. python直方图均衡_Python实现图像直方图均衡化算法
  10. 配置 php_零基础建站如何配置PHP运行环境 几种服务器环境配置的选择和方法
  11. 智慧树知到python程序设计基础第三章答案_知到智慧树Python程序设计基础章节答案...
  12. 值得收藏——在线小视频解析下载教程合集
  13. 计195班学子博文目录
  14. Received empty response from Zabbix Agent at [agent]. Assuming that agent dropped connection because
  15. win10 锁屏时间无法设置 解决方法
  16. 娱乐而已,认真你就输了
  17. 计算机在辅助设计中的应用,计算机辅助设计在艺术设计中的应用
  18. 深入浅出极大似然估计
  19. 2020年全球半导体清洗设备发展现状、竞争格局及中国企业发展进展分析,行业集中度较高,国产化进程达到20%「图」
  20. 涠洲岛日出日落时间表,2月14日涠洲岛开船时间表/日出日落/天气预报

热门文章

  1. 文本摘要常用数据集和方法研究综述
  2. iPhone4s 9.2.1安装cydia(越狱)
  3. 小程序生成网址链接,网址链接跳转小程序(附详细流程)
  4. yoyo鹿鸣lumi动态壁纸人工桌面(软件篇)
  5. 云原生入门 第五章:kubernetes学习实践
  6. 2022-2027年中国激光雷达行业市场调研及未来发展趋势预测报告
  7. 《激光杂志》投稿经验
  8. 7-9 7-10 sdut-C语言实验- 排序
  9. 敏捷团队要有一个《伊凡卡目标》——计划会的共识和每日站会的焦点
  10. 达索Abaqus 2022新功能介绍(三)