Android Studio中Gradle介绍

        AS项目中,有两个build.gradle,分别为项目级 和 module级。

//项目级:针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置。
./build.gradle

//module级:针对此app更细致的配置
./app/build.gradle

        

        1、build.gradle

        根目录的build.gradle的文件结构

//在项目gradle文件中,统一配置引用版本
ext {
    configuration = [
            package          : "com.test.package",
            compileVersion   : 23,
            buildToolsVersion: "23.0.3",
            minSdk           : 18,
            targetSdk        : 23,
            version_code     : 101,
            version_name     : "1.0.1",
        ]
    //
    libraries = [
            junit             : "4.12",
            appcompat_v7      : "24.2.1",
            support_v4        : "24.2.1",
            support_design    : "24.2.1"
        ]
}

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


        2、app/build.gradle

        app文件夹下这个Module的gradle配置文件,是整个项目最主要的gradle配置文件,对配置文件的各项说明如下:

// 声明是Android程序
apply plugin: 'com.android.application'
//表示声明该module为library
//apply plugin: 'com.android.library'

// 基本配置
def cfg = rootProject.ext.configuration
//库配置
def libs = rootProject.ext.libraries

android {
    // 编译SDK的版本
    compileSdkVersion 23
    // build tools的版本
    buildToolsVersion "23.0.3"

    defaultConfig {
        // 应用的包名
        applicationId cfg.package
        minSdkVersion cfg.minSdk
        targetSdkVersion cfg.targetSdk
        versionCode cfg.version_code
        versionName cfg.version_name
    }

    // java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    buildTypes {
        release {
            // 是否进行混淆
            minifyEnabled false
            // 混淆文件的位置
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    // 移除lint检查的error
    lintOptions {
      abortOnError false
    }
}

//加载libs中的第三方.so文件
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {
    destinationDir file("$projectDir/libs")
    baseName "Native_Libs2"
    extension "jar"
    from fileTree(dir: "libs", include: "**/*.so")
    into "lib"
}

dependencies {
    // 编译libs目录下的所有jar包
compile fileTree(dir: 'libs', include: ['*.jar'])

//导入的其他包
    compile "com.android.support:appcompat-v7: ${libs.appcompat_v7}"
    compile "com.android.support:support-v4: ${libs.support_v4}"
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值