.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 22    buildToolsVersion "22.0.1"    defaultConfig {        applicationId "com.hzchou.myapplication"        minSdkVersion 18        targetSdkVersion 22        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles 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 项目)。

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 安装android-ndk-1.5_r1遇到的问题及解决方法
  6. Android9.0版本Vold服务源码分析之上层处理SD卡挂载
  7. 如何在JNI中抛异常
  8. 第18天android:《android从零开始》视频(22-23)数据存储
  9. http://www.shengshiyouxi.com

随机推荐

  1. android学习方法
  2. 【Android(安卓)ROM定制】CyanogenMod源
  3. Android版的模拟交通灯
  4. Android(安卓)资源大全
  5. 实现IOS版的抽屉效果(点击,拖拽滑动)
  6. Android(安卓)Studio的应用与快捷键
  7. Monkey入门之如何在android虚拟机中安装a
  8. Android使用getIdentifier()获取资源Id
  9. Android兼容性优化-8.0之后禁止在后台启
  10. [Android5.1]ContentProvider的Binder通