Android Studio 两个build.gradle文件详解

最外层build.gradle

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

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

两处的 jcenter() 是一个代码托管仓库,声明这行配置后,可以引用任何 jcenter() 上的开源项目。
classpath 声明了一个Gradle插件,要想使用它构建 Android 项目需要声明这个插件,最后面的部分是插件版本号。

app目录下build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.example.sunshinexu"  //项目包名
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false      //是否对项目代码进行混淆
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  //指定混淆文件,第一个是Android SDK 目录下,第二个是当前项目根目录下。
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
}
  • 第一行应用了一个插件,一般有两种值可选:
    com.android.application 表示是一个应用程序模块,可以直接运行。
    com.android.library 表示是一个库模块,作为代码库依附于别的应用程序模块来运行。

  • compileSdkVersion 指定项目的编译版本

  • buildToolsVersion 指定项目的构建工具版本
  • minSdkVersion 指定项目最低兼容的 Android 系统版本
  • targetSdkVersion 表示在该版本已经做了充分的测试,系统为应用程序启用最新的功能和特性,比如指定成23,系统为你的程序启用运行时权限功能,指定成22则不会启用。
  • versionCode,versionName 指定版本号,版本名称,生成安装文件时非常重要。
  • dependencies 闭包指定当前项目的依赖关系:本地依赖,远程依赖,库依赖。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值