一直听说Gradle很强大,只是偶尔用Android Studio创建Demo的时候看到他一次,今天抽个时间完整记录一下。

1.gradle位置

Android Studio项目创建好之后,默认有3个gradle文件,分别位于:

/settings.gradle

/build.gradle

/app/build.gradle

2.gradle内容

settings.gradle 默认只有一行代码,即:

include ':app'

新创建的项目只有app一个子项目。如果在project里添加了子项目(Module),按理需要在settings.gradle里添加相应子项目名称,如:

include ':app', ':androidlibrary'

提示:当你添加一个Module后,最新版的Android Studio会自动在settings.gradle里配置好,Amazing。

根目录的build.gradle 就比较丰富了,默认有三个“节点”,buildscript、allprojects和task clean。

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:1.3.0'

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

buildscript下的第一个子“节点”是声明仓库源,默认是jcenter,之前版本则是mavenCentral,也可以两个center共存。jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。第二个子“节点”是声明Android gradle plugin的版本,Android Studio 1.5版默认是gradle 1.3。

allprojects下是声明了所有project默认的仓库源。

task clean声明了一个任务,任务名叫clean(也可以改为其它),任务类型是Delete(也可以是Copy),就是每当修改settings.gradle文件后点击同步,就会删除rootProject.buildDir下的文件(实际上我看到的效果是清除了External Libraries里的包,然后又添加了一次)。

app/build.gradle 就是默认android子项目的gradle文件了,也是三个小节点:apply、android和dependencies。

apply plugin: 'com.android.application'

android {

compileSdkVersion 15

buildToolsVersion '19.1.0'

defaultConfig {

applicationId "com.nait.picassodemo"

minSdkVersion 4

targetSdkVersion 15

versionCode 1

versionName "1.0"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

productFlavors {

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.squareup.picasso:picasso:2.5.2'

compile 'com.squareup.okhttp:okhttp:2.5.0'

compile 'com.umeng.analytics:analytics:5.6.1'

testCompile 'junit:junit:4.12'

}

appley节点:apply plugin: 'com.android.application'

以上语句中的apply是一个方法,给它传递了一个参数plugin,plugin 的值是'com.android.application'。如果有多个参数,则以逗号隔开,例如:compile name: 'volley', ext: 'aar'。

android节点:前面部分很好理解,从字面意思就能了解。buildTypes默认是release(也可以添加debug),minifyEnabled表示是否需要混淆,proguardFiles 表示混淆配置文件的名称。productFlavors表示多渠道包(以后深入学习后再写)。

dependencies节点:com.开头的部分是Demo项目中添加的引用包,规则是namesapce:package name:version,其它两行是项目创建后默认添加的。

当然,开发完APP也是需要进行全方位的检测:www.ineice.com

android studio gradle 学习,学习Android Studio里的Gradle相关推荐

  1. 【转】Android Studio安装配置学习教程指南 Gradle基础--不错

    原文网址:http://www.linuxidc.com/Linux/2015-02/113890p4.htm 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了 ...

  2. android studio gradle 添加jar,android studio学习----通过gradle来导入jar包

    转载地址:http://www.th7.cn/Program/Android/201507/495477.shtml File->Project Structure 可以打开下面的图: 1.通过 ...

  3. 学习笔记 | Android Studio安卓开发入门经验总结 干货

    前言 最近完成了移动编程课程的学习,加上其它安卓开发项目的经历,感觉收获颇为丰富.故在此总结整理安卓开发中比较常见的一些问题,技巧和指南. 0.目录 文章目录 前言 0.目录 1.开发环境 2. 项目 ...

  4. android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)

    前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...

  5. Android Studio下载搭建学习笔记01

    Android Studio下载搭建学习笔记01 下载Android Studio 安装Android Studio 进入安装向导 选择安装组件 选择安装位置 选择文件菜单 等待安装 启动并配置And ...

  6. ❤️【Android精进之路-02】安装Android Studio,认识Android SDK,一步步学习❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文会重点介绍Android SDK以及如何安装Android Studio进行Android开发. 干货满满,建议收藏,需要用到时常看看.小伙伴 ...

  7. android studio 碎片,Android studio之碎片学习

    碎片是什么? 碎片( Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用得非常广泛.虽然碎片对你来说应该是个全新的概念,但我相信你学习起 ...

  8. Android Gradle 学习笔记(四):Gradle 构建脚本

    本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...

  9. Android开发之深入理解Android Studio构建文件build.gradle配置

    通过这篇文章的学习,你会对build.gradle文件有一个全新的认识,可以将TeachCourse文章提到的相关说明作为文档参考,方便在另一个module中引入,代码如下: apply plugin ...

最新文章

  1. makefile 中 =, :=, ?=, +=的区别
  2. 设计模式之三 装饰模式
  3. 【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)
  4. codecomb 2091【路径数量】
  5. 10通信端口感叹号_工程现场通信总线布线、压接规范
  6. 化工原理物性参数_化工原理知识点总结整理
  7. java手动线程池使用_Java手动配置线程池过程详解
  8. AI应用开发基础傻瓜书系列3-激活函数
  9. 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】
  10. Android内核开发:在源码树中添加新的app应用
  11. 获取URL参数JS函数
  12. 方方格子补丁_方方格子Excel工具箱WPS版本-方方格子(WPS版)附注册文件补丁下载V3.2.6.0测试版-西西软件下载...
  13. 打印机测试图_国产彩色激光机一样很靠谱 奔图全新彩色激光机到底怎么样?...
  14. 使用python实现嵌套压缩包解压
  15. java秒抢商品_Java秒杀系统实战系列~待秒杀商品列表与详情功能开发
  16. java开发设置用户头像_如何修改 WordPress 的用户默认头像?
  17. 再见PDF提取收费!我用100行Python代码搞定!
  18. kafka comsumer消费消息后不commit offset的情况分析
  19. PHPMailer远程命令执行漏洞复现
  20. Matlab------如何控制matlab中的数据输出格式

热门文章

  1. Element Table 可以实现哪些常见的有用的功能
  2. java实现123n_java三线程交替打印123……n
  3. Vue+ECharts的小示例
  4. webpack打包生成的map文件_一站式搞明白webpack中的代码分割
  5. java mongodb dbref_Spring DATA MongoDB @DBref查询,or和and联合查询
  6. 《鸿蒙理论知识02》HarmonyOS开发平台和工具
  7. 各大银行对应的字段(仅做参考)
  8. mysql字段简索引_MySQL常用的一些语句,索引,字段等
  9. linux 7 没有权限访问,[CentOS 7系列]文件或目录的权限与属性
  10. 如何在 React Native 中写一个自定义模块