.gradle 文件介绍

一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和一个 settings.gradle 文件;每一个 module 会存在一个 build.gradle 文件。

关于 gradle 的基本讲解

Settings.gradle


// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { //用于设置驱动构建过程的代码repositories {jcenter()//声明使用 maven 仓库。在老版本中,此处为 mavenCentral()。// mavenCentral() :表示依赖从 Central Maven 2 仓库中获取。//  jcenter() :表示依赖从 Bintary’s JCenter Maven 仓库中获取。// **mavenLocal()** :表示依赖从本地的Maven仓库中获取。}dependencies {//声明了使用 Android Studio gradle 插件版本。一般升级AS或者导入从//Eclipse中生成的项目时需要修改下面gradle版本。classpath 'com.android.tools.build:gradle:1.2.2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {//设置每一个 module 的构建过程。在此例中,设置了每一个 module 使用 // maven 仓库依赖。  repositories {jcenter()}
}

默认的 project 目录下的 settings.gradle 文件内容如上。可有可能默认情况下, project 目录下的 settings.gradle 文件不存在,你可以自己创建。

• include ‘:app’:表示当前 project 下有一个名称为 app 的 module 。 下图: 
 

如果你需要引入的 module 并不是在 工程的根目录下面 
可以如下设置

include ':app2'
project(':app2').projectDir = new File('path/to/app2')

接下来讲 module 中的 build.gradle 文件

apply plugin: 'com.android.application'android {compileSdkVersion 22buildToolsVersion "22.0.1"defaultConfig {applicationId "com.hzchou.myapplication"minSdkVersion 18targetSdkVersion 22versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:22.2.0'
}

• apply plugin: ‘com.android.application’: 
表示使用 com.android.application 插件。也就是表示,这是一个 android application module 。 com.android.library 表示,这是一个 android library module 。 
• android: 
配置所有android构建过程需要的参数。 
• compileSdkVersion: 
用于编译的 SDK 版本。 
• buildToolsVersion: 
用于 Gradle 编译项目的工具版本。 
• defaultConfig: 
Android 项目默认设置。 
1. applicationId:应用程序包名。 
2. minSdkVersion:最低支持 Android 版本。 
3. targetSdkVersion:目标版本。实际上应为测试环境下测试机的 Android 版本。 
4. versionCode:版本号。 
5. versionName:版本名称。 
• buildTypes: 
编译类型。默认有两个: release 和 debug 。我们可以在此处添加自己的 buildTypes ,可在 Build Variants 面板看到 
• minifyEnabled: 
是否使用混淆。在老版本中为 runProguard ,新版本之所换名称,是因为新版本支持去掉没使用到的资源文件,而 runProguard 这个名称已不合适了。 
• proguardFiles: 
使用的混淆文件,可以使用多个混淆文件。此例中,使用了 SDK 中的 proguard-android.txt 文件以及当前 module 目录下的 proguard-rules.pro 文件。

• dependencies: 
用于配制引用的依赖。 
1. compile fileTree(dir: ‘libs’, include: [‘*.jar’]): 
引用当前 module 目录下的 libs 文件夹中的所有 .jar 文件。 
2. compile ‘com.android.support:appcompat-v7:21.0.3’: 
引用 21.0.3版本的 appcompat-v7 (也就是常用的v7* library 项目)。

Android开发工具之Android Studio----Gradle相关推荐

  1. Android开发工具视频Android 12(S)准备

    Android开发工具视频Android 12(S)准备 适配步骤 下载最新的Android studio工具,点我到官网下载最新的吧! 最新版的studio规定jdk使用必须至少11,所以请移步下载 ...

  2. 全网最全Android开发工具,Android开发框架大全

    涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步. 目录 一.工具 Android开发工具 在线工具宝典大全 二.框架 *缓存框架* DiskLruCache ...

  3. Android 开发工具集合 - (Android Dev Tools)

    收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...

  4. Android开发工具——ADB(Android Debug Bridge) 一概览

    Android Debug Bridge (adb) 是一个android开发人员必会的多功能的调试工具,确实它的名字一样,它在开发者和目标机器之间,架起了一座bridge. adb的用法很简单,只要 ...

  5. 盘点android 开发工具,盘点Android开发者必备的十大开发工具

    Android SDK提供了一系列可帮助开发者设计.创建.测试和发布Android应用程序的强大工具,以下是游戏邦编译developer推荐的10款最常用的开发工具. 1.Eclipse w/ADT ...

  6. Android开发工具之Android Studio---如何打JAR包

    Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 将 plugin 修改为library后 build 出 aar,再提取 ...

  7. Android开发工具之Android Studio--如何打包sdk通过arr包的方式

    Android studio给我们提供一种更简便的方式,可以同时把class和res文件打包进去,现在的support v7 和gson-2.21就是aar打包方式 打包方法: 我们先把想要打包成sd ...

  8. Android开发工具之Android Studio--调用系统隐藏方法之操作aidl文件步骤

    android studio的aidl文件是用来跨进程访问的,在很多的android 程序开发过程中都会需要创建一个AIDL服务,AIDL服务是什么,使用android studio创建AIDL接口服 ...

  9. android 开发工具类,Android中常用开发工具类—持续更新...

    一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...

最新文章

  1. Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
  2. 没想到,他面试竟然挂在了Spring的这个点上...
  3. 白话Elasticsearch73_ES生产集群中的索引管理02
  4. [转]virtualbox下安装增强工具简单步骤
  5. 计算机lg符号,数学符号lg的意思
  6. idea报错 电脑死机蓝屏
  7. 【Python】import自己的模块报错
  8. phpcms网站搬家至服务器
  9. 如何在Java的特定范围内生成随机整数? [英]How do I generate random integers within a specific range in Java?
  10. zend调试php,Zend Studio使用教程:在Zend Studio中调试PHP(4/5)
  11. ros怎么跑小车_ROS与RACECAR教程-Arduino ROS节点进行小车控制
  12. 宝塔linux面板环境安装,BT.CN宝塔面板环境安装流程(图文教程)
  13. ipad上的html编辑器,iPad Pro变生产力工具,你还缺这个轻量级浏览器端代码编辑器...
  14. 导数与微分常用公式(基础)
  15. java地铁最短距离_地铁线路最短路径(项目实现)
  16. Java抓取网页图片
  17. php nts ts 版本区分
  18. 京东供应商协同平台 客户评价数据导出python
  19. 快递物流管理系统(SSM,JQUERY-EASYUI,MYSQL)
  20. 【收藏】前端开发必备:前端开发不得不收藏的网站,提高200%开发效率!

热门文章

  1. Win10+tensorflow:SSD调试问题:Unable to open table file ../checkpoints/ssd_300_vgg.ckpt
  2. Qt第三方库QCustomPlot——认识图表的各个部分
  3. 可以查到的资料和可以淘到的原件 DIY 四轴
  4. X Window、GNOME和KDE之间的关系
  5. sparse double型矩阵转为full矩阵
  6. ustc小道消息20211230
  7. 科大星云诗社动态20210521
  8. 你所不知道的 Transformer!
  9. 统计特性和概率估计-1 (数学推导与证明)
  10. KNN(K-Nearest Neighbor)分类算法原理