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 手动配置Gradle的方法

[Android Studio系列(五)] Android Studio手动配置Gradle的方法 标签: androidandroid studiogradle 2016-06-02...

Android Studio Gradle 配置文件样例

项目主build.gradle // Top-level build file where you can add configuration options common to all sub-pr...

Android Studio gradle.properties配置

之前在网上down的一些项目,导入Android Studio后无法运行,问题根源在于build.gradle中的的文件是这样的:当同步gradle的时候就会报错:这里是因为没有找到ANDROID_B...

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介   Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑。具有语法简洁、可读性强、配置灵活等特点。...

Android Studio gradle 配置 keystore

配置keystoreAndroid项目编译的时候需要签名,即keystore文件,在不加配置的时候,Android Studio会使用一个默认签名,通常在用户文件夹下的.android目录中,名为de...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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