Android Studio Gradle配置

原创 2016年08月30日 17:33:39

使用Android studio创建的项目会默认生成两个build.gradle文件(一个位于根目录下,一个位于app目录下)和一个setting.gradle文件

  1. 根目录下的build.gradle一般内容如下
buildscript {
    repositories {
        //使用jcenter()依赖库
        jcenter()
    }
    dependencies {
        //
        classpath 'com.android.tools.build:gradle:1.3.0'
        //相当于依赖jcenter库里面的1.3.0版本的gradle
    }
}
//整个工程的依赖库的配置
allprojects {
    repositories {
        jcenter()
    }
}

2.app module下面的build.gradle

//主module就是application,依赖工程需要改成library
apply plugin: 'com.android.application'
android {
    //6.0之后goole不支持使用HttpClient,如果需要使用,加上这句话
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        //主module必须配置,依赖module不要此项
        applicationId "包名"
        minSdkVersion 16
        targetSdkVersion 19
        //下面两项会在BuildConfig生成对应的值
        versionCode 191
        versionName "3.8.2"
    }
    //目录指向配置,一般不需要更改,如果想把so文件也放入libs则需要加上下面的,也可以自己创建jniLibs目录
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    //签名配置
     signingConfigs {
        debug {
            storeFile file('./theme.keystore')
            storePassword "123"
            keyAlias "123"
            keyPassword "123"
        }
        release {
            storeFile file('./theme.keystore')
            storePassword "123"
            keyAlias "123"
            keyPassword "123"
        }
    }
    //编译类型,分为debug和Release,对应BuildConfig里面的DEBUG字段
     buildTypes {
        debug {
            signingConfig signingConfigs.debug
            zipAlignEnabled false  //zip压缩
            minifyEnabled false  //混淆
            shrinkResources false  //移除无用的资源
            //如果有需要可以在BuildConfig下面添加字段
            buildConfigField 'boolean', 'BUILD_DEBUG', 'true'
        }

        release {
            signingConfig signingConfigs.release
            zipAlignEnabled true
            minifyEnabled true
            shrinkResources true
            buildConfigField 'boolean', 'BUILD_DEBUG', 'false'
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
        }
    }
    //打包渠道,该项可以是多维的,配置完之后会在Build Variants下面生成3*3*2中编译类型,
    //第一个3表示环境,第二个是渠道,2表示debug或resease,总共有18中组合类型
    //用处有:如果服务器有测试地址和正式地址,则可以根据BuildConfig里面生成的字段设置服务器的地址
    //可以看出appName是不一样的,能够更好的区分
     productFlavors {
        flavorDimensions "enviroment", "channel"
        Envtest {
            dimension "enviroment"
            applicationId = "包名"
            manifestPlaceholders = [APP_NAME:'Demo Test']
        }

        Online {
            dimension "enviroment"
            applicationId = "包名"
            manifestPlaceholders = [APP_NAME:'Demo']
        }

        Dev {
            dimension "enviroment"
            applicationId = "包名"
            manifestPlaceholders = [APP_NAME:'Demo Dev']
        }

        xiaomi {
            dimension "channel"
            manifestPlaceholders = [COLORV_CHANNEL_VALUE: "xiaomi"]
        }
        san60 {
            dimension "channel"
            manifestPlaceholders = [COLORV_CHANNEL_VALUE: "360"]
        }
        baidu {
            dimension "channel"
            manifestPlaceholders = [COLORV_CHANNEL_VALUE: "baidu"]
        }
    }
}
dependencies {
    //表示编译libs下的所有jar包
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //还可以添加其他依赖项
    //这种形式表示依赖module
    compile project(':gpuimagefilter')
    //这种形式表示编译远程库
    compile 'com.android.support:recyclerview-v7:23.1.1'
}

//对应的BuildConfig会自动生成:
public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "cn.demo";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "DevBaidu";
  public static final int VERSION_CODE = 191;
  public static final String VERSION_NAME = "3.8.2.debug";
  public static final String FLAVOR_enviroment = "Dev";
  public static final String FLAVOR_channel = "baidu";
  // Fields from build type: debug
  public static final boolean BUILD_DEBUG = true;
}

3.setting.gradle是配置module的依赖情况

include ':app',':gpuimagefilter'
版权声明:本文为博主原创文章,未经博主允许不得转载。

[Android Studio系列(五)] Android Studio手动配置Gradle的方法

1 问题(1) android sutdio第一次打开一个工程巨慢怎么办? (2) 手动配置Gradle Home为什么总是无效? (3) 明明已经下载了Gradle,配置了gradle home...
  • fuchaosz
  • fuchaosz
  • 2016年06月02日 15:58
  • 55632

Android Studio Gradle环境变量配置

Gradle是Android Studio用来构建和管理项目的一个插件,采用了基于Groovy的内部领域特定语言。Android Studio已经帮我们封装了很多Gradle命令,还可以通过控制台Co...
  • qq402164452
  • qq402164452
  • 2017年04月17日 08:49
  • 3641

Android Studio之gradle的配置与介绍

1、gradle的简单介绍 Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具。其实Gradle脚本是基于一种JVM...
  • loongggdroid
  • loongggdroid
  • 2015年07月24日 10:37
  • 93860

详细配置android studio中的gradle

这篇博客着重点在详细的介绍如何配置gradle,比如自定义资源目录,实现诸如多渠道打包,一次生成不同UI的多渠道apk等。这其中,一次性生成不同UI的多渠道apk是我认为最有趣的事情,它是gradle...
  • u011913612
  • u011913612
  • 2016年06月24日 17:44
  • 14121

Android Studio 之 Gradle 安装配置和编译

目录目录 前言 Gradle简介 Gradle安装 Gradle构建项目 XYALLappbuildgradle模块gradle配置文件 XYALLbuildgradle整个项目的gradle配置文件...
  • zinss26914
  • zinss26914
  • 2015年09月22日 15:07
  • 14707

android studio 更新 手动配置Gradle方法

手动配置Gradle 文件  今天更新Android Studio发现项目打不开了,一直卡在Refreshing Project 这里。这里一看就是什么配置的东西更改了,导致IDE 无法进行编译。然后...
  • qq_34157567
  • qq_34157567
  • 2017年03月22日 11:14
  • 724

Android Studio Gradle离线配置

The following classes could not be found: - android.support.v4.widget.DrawerLayout (Fix Build Path,...
  • jake2658
  • jake2658
  • 2014年10月19日 22:11
  • 8562

android studio配置gradle

以配置gradle-3.4为例 1、下载gradle-3.4,下载地址为http://services.gradle.org/distributions 2、打开android studio项目下的g...
  • qq_20925635
  • qq_20925635
  • 2017年03月03日 14:58
  • 487

android studio离线配置gradle

以windows为例,整个目录应该在C:\Users\Administrator\.gradle\wrapper\dists下面。 假如我们缺少某gradle版本:gradle-xxx-all,那么...
  • h309849232
  • h309849232
  • 2017年07月04日 17:26
  • 1211

Android Studio Gradle的配置使用与解析总结

Gradle 的编译周期 在解析 Gradle 的编译过程之前我们需要理解在 Gradle 中非常重要的两个对象。Project和Task。 每个项目的编译至少有一个 Project,一个 build...
  • xiaomai949804781
  • xiaomai949804781
  • 2016年10月21日 13:17
  • 1292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio Gradle配置
举报原因:
原因补充:

(最多只允许输入30个字)