Gradle基础
什么是Gradle?
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
Gradle可以自动化地进行软件构建、测试、发布、部署、软件打包。
安装Gradle
Android Studio 新建项目成功后会下载Gradle(有可能需要翻墙)
windows平台会默认下载到“C:\Users\<用户名>\.gradle\wrapper\dists”目录,你会在这个目录下看到不同版本的gradle文件夹(如果下载太慢,但是又不想翻墙的话,可以自己手动到Gradle官网http://www.gradle.org/downloads下载对应的版本,然后将下载的.zip文件(也可以解压)复制到gradle-x.xx-all 文件夹下)

Gradle 基本概念

/Application/build.gradle
这个文件是Application文件夹下这个Module的gradle配置文件
// 声明是Android程序
//如果是类库module则写成 apply plugin: ‘com.android.library’
apply plugin: 'com.android.application' android {
// 编译SDK的版本
compileSdkVersion
// build tools的版本
buildToolsVersion "21.1.1" defaultConfig {
// 应用的包名
applicationId "com.example.android.system.runtimepermissions"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.0.0"
} // java版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
} buildTypes {
debug {
// debug模式
} release {
// 是否进行混淆
minifyEnabled false
// 混淆文件的位置,前一部分代表系统默认的android程序的混淆文件,后一部分是我们项目里的自定义的混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
} // 移除lint检查的error
lintOptions {
abortOnError false
}
} dependencies {
// 编译libs目录下的所有jar包
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:support-v4:23.1.0"
compile "com.android.support:support-v13:23.1.0"
compile "com.android.support:cardview-v7:23.1.0"
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:support-v4:23.0.0'
compile 'com.android.support:design:23.0.0'
// 编译mylib目录下的DeviceAPI模块
compile project(':mylib:DeviceAPI')
}
/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-.-all.zip
这里声明了gradle的目录与下载路径以及当前项目使用的gradle版本
/build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
这个文件是整个项目的gradle基础配置文件,内容主要包含了两个方面:一个是声明仓库的源jcenter(),另一个是声明了android gradle plugin的版本gradle:1.0.0
/settings.gradle
include ':API', ':testapplication',':App'
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module
Gradle基础的更多相关文章
- Android Studio系列教程四--Gradle基础
Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...
- 【转】Android Studio安装配置学习教程指南 Gradle基础--不错
原文网址:http://www.linuxidc.com/Linux/2015-02/113890p4.htm 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了 ...
- android studio学习----gradle基础
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 安装Gradle 在And ...
- Gradle基础:11:使用Kotlin的Gradle(转)
Gradle基础及进阶(转) https://blog.csdn.net/liumiaocn/article/category/8369185 Gradle基础:1: 简介与安装 Gradle基础:2 ...
- Gradle系列之Android Gradle基础配置
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- gradle基础的build文件模板_tomcat
group '组织名' version '版本号' /* 支持的插件 */ apply plugin: 'java' // 项目基础变成语言支持为java apply plugin: 'war' // ...
- Android studio:Groovy 与 Gradle 基础【三】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255064&extra=page%3D2%26filter%3Dautho ...
- gradle基础的build文件模板_jetty
group '组织名' version '版本号' /* 支持的插件 */ apply plugin: 'java' // 项目基础变成语言支持为java apply plugin: 'war' // ...
- gradle基础配置
gradle构建脚本基础 gradle常用命令 //列出项目的所有属性. 这样你就可以看到插件加入的属性以及它们的默认值. gradle properties //列出项目的所有任务 gradle ...
随机推荐
- postgres中的视图和物化视图
视图和物化视图区别 postgres中的视图和mysql中的视图是一样的,在查询的时候进行扫描子表的操作,而物化视图则是实实在在地将数据存成一张表.说说版本,物化视图是在9.3 之后才有的逻辑. 比较 ...
- 前端构建:Less入了个门
一.前言 说到前端构建怎能缺少CSS预处理器呢!其实CSS的预处理器有很多啦,比较出名的有Scss.Sass.Stylus和Less.(最近还听说出现了Autoprefixer等CSS后处理器,可 ...
- Android Studio快捷键每日一练(4)
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-4/ 33.分析数据流到当前位置 苹果/Windows ...
- LeetCode - 49. Group Anagrams
49. Group Anagrams Problem's Link ------------------------------------------------------------------ ...
- 【原创】Kakfa serializer包源代码分析
这个包很简单,只有两个scala文件: decoder和encoder,就是提供序列化/反序列化的服务.我们一个一个说. 一.Decoder.scala 首先定义了一个trait: Decoder[T ...
- JS打印页面指定区域
错误的写法: //打印 function printPage(areaId) { if (parent.$("#PrinFrame").length == 0) { parent. ...
- SSH服务器与Android通信(3)--Android客户端发送数据
Android客户端向SSH服务器发送数据主要有三种情况:通过客户端删除数据.添加数据和修改数据. 1.删除数据 先看看jsp文件里面是怎样删除数据的: <td align="cent ...
- 反编译APK文件
有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程. 1.工具 反编译apk需要的工具有两个:apk2java和apktool, ...
- 基于TCP和多线程实现无线鼠标键盘-Robot
Windows端收到Android端传递来的键盘或鼠标操作信息以后,需要根据这些信息操作鼠标或键盘,这就需要用到java.awt.Robot类,该类用于控制鼠标或键盘. 在Java主窗体中定义: pu ...
- Google Go Programming In Eclipse
http://www.tutorialsavvy.com/2013/04/google-go-programming-in-eclipse.html/ Google Go Programming In ...