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里面的Build.gradle的详细配置说明

本文出自于:http://jingyan.baidu.com/article/bea41d4389bdc3b4c51be6be.html,http://my.oschina.net/u/1471093...
  • CVSDN
  • CVSDN
  • 2016年07月28日 09:48
  • 2001

Android Studio使用新的Gradle构建工具配置NDK环境

转至:http://www.th7.cn/Program/Android/201509/572743.shtml 从Android Studio 1.3 Beta1开始,就支持了NDK。不过使用...

Android Studio打包和gradle配置构建

  • 2017年08月17日 14:05
  • 1.44MB
  • 下载

Android Studio Gradle配置dex分包

  • 2016年11月20日 19:07
  • 36KB
  • 下载

重磅消息android studio发布2.3正式版(配置gradle3.3)

为什么更新as? Android Studio 2.3版本包含一些新特性,包括对WebP支持的更新;ConstraintLayout库支持更新和布局编辑器的部件面板。这些都是对开发人员提供便利的,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio Gradle配置
举报原因:
原因补充:

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