Android gradle简介

Android studio用到gradle下面简单介绍下:

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。Android Studio中新建项目成功后自动下载Gradle。
Gradle有几个基本组件:

1.整个项目的gradle配置文件build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0-alpha4'
        // 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文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件

apply plugin: 'com.android.application'

android {
    signingConfigs {
        ast {
            keyAlias 'AST.jks'
            keyPassword 'AST.jks'
            storeFile file('E:/YD_AST/AST.jks')
            storePassword 'AST.jks'
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        applicationId "yundi.com.pos"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName '1.0.1'
        signingConfig signingConfigs.ast
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.ast
        }
        debug {
            signingConfig signingConfigs.ast
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    productFlavors {
    }
}

android {
    useLibrary 'org.apache.http.legacy'
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.+'
    compile 'com.android.support:design:23.+'
    compile 'cn.finalteam:okhttpfinal:2.0.2'
    // 网络
    compile 'com.bigkoo:svprogresshud:1.0.2'
    // 加载框
    // 提示框
    compile 'me.drakeet.materialdialog:library:1.2.8'
    compile files('libs/baidumapapi_v3_5_0.jar')
    compile files('libs/locSDK_5.2.jar')
    // 图片加载
    compile 'com.facebook.fresco:fresco:0.8.1+'
    compile 'com.jcodecraeer:xrecyclerview:1.2.6'
    // 刷新
    compile files('libs/gson-2.2.4.jar')
    compile 'com.jakewharton:butterknife:7.0.1'
    compile files('libs/alipaySDK-20150610.jar')
    compile files('libs/libammsdk.jar')
    compile 'com.orhanobut:dialogplus:1.11@aar'
}

文件开头apply plugin是最新gradle版本的写法,以前的写法是apply plugin: ‘android’, 如果还是以前的写法,请改正过来。


buildToolsVersion这个需要你本地安装该版本才行,很多人导入新的第三方库,失败的原因之一是build version的版本不对,这个可以手动更改成你本地已有的版本或者打开 SDK Manager 去下载对应版本。


applicationId代表应用的包名,也是最新的写法,这里就不在多说了。


android 5.0开始默认安装jdk1.7才能编译


minifyEnabled(混淆)也是最新的语法,很早之前是runProguard,这个也需要更新下。


proguardFiles这部分有两段,前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,免去了我们很多事,这个文件的目录在 /tools/proguard/proguard-android.txt , 后一部分是我们项目里的自定义的混淆文件,目录就在 app/proguard-rules.txt , 如果你用Studio 1.0创建的新项目默认生成的文件名是 proguard-rules.pro , 这个名字没关系,在这个文件里你可以声明一些第三方依赖的一些混淆规则,后面会具体讲到。


compile project(‘:extras:ShimmerAndroid’)这一行是因为项目中存在其他Module,你可以理解成Android Library,由于Gradle的普及以及远程仓库的完善,这种依赖渐渐的会变得非常不常见,但是你需要知道有这种依赖的。

基本要操作的就是这两个文件了。下面是混淆文件proguard-rules.pro

具体混淆信息请点击http://blog.csdn.net/u010090644/article/details/51132672






发布了40 篇原创文章 · 获赞 19 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/u010090644/article/details/51132953