android studio gradle 学习,学习Android Studio里的Gradle
一直听说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相关推荐
- 【转】Android Studio安装配置学习教程指南 Gradle基础--不错
原文网址:http://www.linuxidc.com/Linux/2015-02/113890p4.htm 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了 ...
- android studio gradle 添加jar,android studio学习----通过gradle来导入jar包
转载地址:http://www.th7.cn/Program/Android/201507/495477.shtml File->Project Structure 可以打开下面的图: 1.通过 ...
- 学习笔记 | Android Studio安卓开发入门经验总结 干货
前言 最近完成了移动编程课程的学习,加上其它安卓开发项目的经历,感觉收获颇为丰富.故在此总结整理安卓开发中比较常见的一些问题,技巧和指南. 0.目录 文章目录 前言 0.目录 1.开发环境 2. 项目 ...
- android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)
前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...
- Android Studio下载搭建学习笔记01
Android Studio下载搭建学习笔记01 下载Android Studio 安装Android Studio 进入安装向导 选择安装组件 选择安装位置 选择文件菜单 等待安装 启动并配置And ...
- ❤️【Android精进之路-02】安装Android Studio,认识Android SDK,一步步学习❤️
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文会重点介绍Android SDK以及如何安装Android Studio进行Android开发. 干货满满,建议收藏,需要用到时常看看.小伙伴 ...
- android studio 碎片,Android studio之碎片学习
碎片是什么? 碎片( Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用得非常广泛.虽然碎片对你来说应该是个全新的概念,但我相信你学习起 ...
- Android Gradle 学习笔记(四):Gradle 构建脚本
本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...
- Android开发之深入理解Android Studio构建文件build.gradle配置
通过这篇文章的学习,你会对build.gradle文件有一个全新的认识,可以将TeachCourse文章提到的相关说明作为文档参考,方便在另一个module中引入,代码如下: apply plugin ...
最新文章
- makefile 中 =, :=, ?=, +=的区别
- 设计模式之三 装饰模式
- 【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)
- codecomb 2091【路径数量】
- 10通信端口感叹号_工程现场通信总线布线、压接规范
- 化工原理物性参数_化工原理知识点总结整理
- java手动线程池使用_Java手动配置线程池过程详解
- AI应用开发基础傻瓜书系列3-激活函数
- 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】
- Android内核开发:在源码树中添加新的app应用
- 获取URL参数JS函数
- 方方格子补丁_方方格子Excel工具箱WPS版本-方方格子(WPS版)附注册文件补丁下载V3.2.6.0测试版-西西软件下载...
- 打印机测试图_国产彩色激光机一样很靠谱 奔图全新彩色激光机到底怎么样?...
- 使用python实现嵌套压缩包解压
- java秒抢商品_Java秒杀系统实战系列~待秒杀商品列表与详情功能开发
- java开发设置用户头像_如何修改 WordPress 的用户默认头像?
- 再见PDF提取收费!我用100行Python代码搞定!
- kafka comsumer消费消息后不commit offset的情况分析
- PHPMailer远程命令执行漏洞复现
- Matlab------如何控制matlab中的数据输出格式
热门文章
- Element Table 可以实现哪些常见的有用的功能
- java实现123n_java三线程交替打印123……n
- Vue+ECharts的小示例
- webpack打包生成的map文件_一站式搞明白webpack中的代码分割
- java mongodb dbref_Spring DATA MongoDB @DBref查询,or和and联合查询
- 《鸿蒙理论知识02》HarmonyOS开发平台和工具
- 各大银行对应的字段(仅做参考)
- mysql字段简索引_MySQL常用的一些语句,索引,字段等
- linux 7 没有权限访问,[CentOS 7系列]文件或目录的权限与属性
- 如何在 React Native 中写一个自定义模块