美文网首页Android gradle
Android中Gradle介绍

Android中Gradle介绍

作者: Joving | 来源:发表于2018-08-20 15:45 被阅读22次

      Android Studio默认的构建项目工具,基于Groovy的领域特定语言来声明项目配置,和基于XML的Ant和Maven相比更简单。

    外层build.gradle
    
    buildscript {
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.4'
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    

      两处repositories闭包中都有jcenter()和google()这两行表示我们可以从jcenter和google中轻松引用任何开源项目。
      dependencies闭包中声明的是Grandle引用com.android.tools.build:gradle:3.1.4版本。

    内层build.gradle
    
    apply plugin: 'com.android.application'
    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.example.administrator.testhelloworld"
            minSdkVersion 19
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
        implementation 'com.android.support.constraint:constraint-layout:1.1.1'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    

      apply表示这是一个应用程序模块,一般有两个值:com.android.application(应用程序模块,可以直接运行)和com.android.library(库模块,需要一来在别的应用程序模块中才能运行)。
      android闭包,指定目标版本,指定项目构建工具的版本。
      android闭包中defaultConfig闭包,指定包名,最小支持版本,目标版本,指定项目版本号,指定项目的版本名。
      android闭包中buildType闭包,用于指定生成安装文件的相关配置,有两个子包:debug和release。debug可以忽略不记。release中minifyEnabled是否对代码进行混淆,proguardFiles指定混淆文件,第一个proguard-android.txt系统目录下的,proguard-rules.pro项目目录下的配置特定的混淆规则。
      dependencies闭包,指定当前项目所有依赖关系。通常有三种依赖:本地依赖、库依赖和远程依赖。implementation fileTree将libs目录下所有.jar后缀的文件都添加进项目构建路径; implementation 'com.android.support.constraint:constraint-layout:1.1.1'远程依赖;implementation project(':helper')库依赖

    相关文章

      网友评论

        本文标题:Android中Gradle介绍

        本文链接:https://www.haomeiwen.com/subject/bpjliftx.html