gradle 基本配置介绍
来源:互联网 发布:代码什么颜色 知乎 编辑:程序博客网 时间:2024/05/13 06:33
gradle
https://gradle.org
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
Android Studio下载与安装中新建项目成功后会下载Gradle
Mac上会默认下载到 /Users/<用户名>/.gradle/wrapper/dists 目录
Win平台会默认下载到 C:\Documents and Settings\<用户名>.gradle\wrapper\dists 目录
文件介绍
- 模块/build.gradle
//声明是Android 程序apply plugin: 'com.android.application'//配置了用于 android 构建的所有参数。这是Android DSL的入口。//默认情况下,只需要配置编译目标,以及build-tools的版本。//它通过compileSdkVersion和buildtoolsVersion属性来完成。//提示:你应该只配置使用这个android插件。如果同时配置使用了java插件也会导致构建错误。android { //编译SDK的版本 compileSdkVersion 19 //build tools 的版本 // 构建工具的版本,其中包括了打包工具aapt、dx等等。 // 这个工具的目录位于..sdk_path/build-tools/XX.XX.XX buildToolsVersion "19.1.0" //在android元素的内部的defaultConfig元素是定义所有这些配置的地方。 defaultConfig { // 应用的包名 applicationId "com.example.lidecheng.myapplication" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } // java版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { // 是否进行混淆 minifyEnabled false // 混淆文件的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // 移除lint检查的error lintOptions { abortOnError false }}dependencies { //编译libs目录下的所有jar包 compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:19.+'}// 这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件
- 项目/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.//整个项目的gradle基础配置文件//buildscript { ... }配置了驱动构建的代码。// 声明了使用jcenter 中央库,并且对一个Maven 文件有一个类路径依赖。// 这个文件是包含 Gradle Android 插件的 1.5.0版本的库buildscript { repositories { jcenter() } dependencies { //声明了android gradle plugin的版本 classpath 'com.android.tools.build:gradle:1.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}// 内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。
- settings.gradle
//全局的项目配置文件include ':app'
- gradle-wrapper.properties
#声明了gradle的目录与下载路径以及当前项目使用的gradle版本,#这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
- local.properties
## This file is automatically generated by Android Studio.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!//通过sdk.dir属性来设置 SDK 的位置,并且所设置的这个SDK要求存在。 //或者,您也可以设置一个ANDROID_HOME环境变量。这两种方法之间没什么差别ndk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2/ndk-bundlesdk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2
android DSL
–领域特定语言(domain-specific languages,简称DSL)
http://google.github.io/android-gradle-dsl/current/index.html
defaultConfig{} 默认配置,是ProductFlavor类型。它共享给其他ProductFlavor使用
sourceSets{ } 源文件目录设置,是AndroidSourceSet类型。
buildTypes{ } BuildType类型
signingConfigs{ } 签名配置,SigningConfig类型
productFlavors{ } 产品风格配置,ProductFlavor类型
testOptions{ } 测试配置,TestOptions类型
aaptOptions{ } aapt配置,AaptOptions类型
lintOptions{ } lint配置,LintOptions类型
dexOptions{ } dex配置,DexOptions类型
compileOptions{ } 编译配置,CompileOptions类型
packagingOptions{ } PackagingOptions类型
jacoco{ } JacocoExtension类型。 用于设定 jacoco版本
splits{ } Splits类型。
android { … }配置了用于 android 构建的所有参数。这是Android DSL的入口。
默认情况下,只需要配置编译目标,以及build-tools的版本。它通过compileSdkVersion和buildtoolsVersion属性来完成。
重要提示:你应该只配置使用这个android插件。如果同时配置使用了java插件也会导致构建错误。
- gradle 基本配置介绍
- Gradle 打包基本配置
- gradle 基本配置 --2
- gradle 基本构建配置
- gradle配置介绍
- gradle android基本配置详解
- gradle的配置与介绍
- Gradle基本知识点与常用配置
- Gradle基本知识点与常用配置
- android studio 之Gradle基本配置
- Gradle的基本配置和依赖管理
- nagios基本配置介绍
- 介绍 Codeigniter 基本配置
- Android Studio gradle的配置与介绍
- Android Gradle的配置与介绍
- Android菜鸟练习第十八课 build.gradle的基本介绍
- apache-DBCP基本配置介绍
- 详细介绍nagios基本配置
- 微信高仿 视频
- java中static的作用
- 关于java web中中文乱码问题
- Android 内存优化学习
- 第5周项目1(2)三角形类雏形
- gradle 基本配置介绍
- java学习笔记-IO流
- 互斥锁的使用
- 高水位线
- Android UI模板设计---TopBar(标题栏)
- HDU 4283 You Are the One(区间DP)
- 用优雅的方式解决重复点击的困扰
- spring security的原理及教程
- 在art.dialog中加载ztree