Android studio中build.gradle文件格式解析_未完待续

本文介绍了Android Studio如何使用Gradle构建项目,重点解析了工程目录和app目录下的build.gradle文件。编译版本、最小版本和目标版本是关键配置,其中compiledSdkVersion用于编译,minSdkVersion定义了APP的最低支持版本,而targetSdkVersion表示已测试的最高Android版本,确保在新版本上优化体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        与Eclipse不同,Android Studio是采用Gradle来构建项目的。Gradle 是一个非常先进强大的项目构建工具,它使用了一种基于 Groovy 领域的特定语言(DSL)来声明项目设置,摒弃了基于 XML(如 Ant 和 Maven)的各种繁琐的配置,接下来我们一起探讨 Android Studio 中强大的项目构建工具 Gradle。

一、简介

Android studio新建的工程中一般包含两个build.gradle文件,一个在工程目录下,一个在app目录下,如下图所示。

 

二、文件格式详解

2.1 工程目录下的build.gradle文件

buildscript {
    repositories {
        //代码托管仓库,很多开源Android项目都将代码托管到jcenter()上,声明此配置后,即可引用 
        //jcenter()上的任何开源项目。同时也可以声明其他托管仓库。
        jcenter()
        //添加maven库地址
        maven{
            url "http://maven.xxx.com/xxx/xxx/xxx"
            credentials {
                username 'xxx'
                password 'xxx'
            }
        }
    }
    dependencies {
        //Gradle 插件及使用版本
        classpath 'com.android.tools.build:gradle:2.3.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
 
allprojects {
    repositories {
        //代码托管仓库
        jcenter()
    }
}
// 运行gradle clean时,执行此处定义的task。
// 该任务继承自Delete,删除根目录中的build目录。
// 相当于执行Delete.delete(rootProject.buildDir)
task clean(type: Delete) {
    delete rootProject.buildDir
}

2.2 app目录下的build.gradle文件

//表明是应用程序的插件,若为库模块,则是'com.android.library'
apply plugin: 'com.android.application'
 
//Android 闭包
android {
    //指定项目的编译版本
    compileSdkVersion 25
    //指定项目的构建工具版本
    buildToolsVersion "25.0.3"
    defaultConfig {
        //指定项目的包名
        applicationId "com.example.qiudengjiao.contentprovider"
        //指定项目最低兼容的 Android 版本
        minSdkVersion 15
        //指定项目的最高兼容 Android 版本
        targetSdkVersion 25
        //指定项目的版本号
        versionCode 1
        //指定项目的版本名
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            //指定是否对项目的代码进行混淆(true:混淆 false:不混淆)
            minifyEnabled false
            //proguardFiles用于指定混淆时使用的规则文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

编译版本、最小版本、目标版本

compiledSdkVersion:编译SDK版本是将要编译APP的平台版本。默认情况下它应该设置为SDK中最新的Android可用版本。我们依然可以编译APP来支持更早的版本,但是设置它为最新版本让我们可以使用新功能并优化APP使其在最新版本上拥有更好的用户体验。


minSdkVersion:是新建工程的时候指定的”MinimumSDK version”。它表示APP可以支持的Android SDK的最早版本,意为小于该版本的Android系统上不保证APP正常运行。


targetSdkVersion:表示开发者已经测试过的最高的Android版本。当新版本的Android可用的时候,我们应该在新版本上测试自己的APP并更新这个值以匹配最新版本的API,从而使用新版本的功能。

平台版本号API 级别VERSION_CODE(代号)发布时间
Android 9.028Pie(馅饼2018年08月
Android 8.127Oreo(奥利奥)2017年12月
Android 8.026Oreo(奥利奥)2017年08月
Android 7.1.125Nougat(牛轧糖)2016年10月
Android 7.024Nougat(牛轧糖)2016年08月
Android 6.023Marshmallow(棉花糖)2015年10月
Android 5.122Lollipop(棒棒糖)2015年03月
Android 5.021Lollipop(棒棒糖)2014年11月
Android 4.4W20KITKAT_WATCH2014年06月
Android 4.419KitKat(奇巧)2013年10月
Android 4.318Jelly Bean(果冻豆)2013年07月
Android 4.2、4.2.217Jelly Bean(果冻豆)2012年11月
Android 4.1、4.1.116Jelly Bean(果冻豆)2012年07月
Android 4.0.3、4.0.415Ice Cream Sandwich(冰激凌三明治)2011年12月
Android 4.0、4.0.1、4.0.214Ice Cream Sandwich(冰激凌三明治)2011年10月
Android 3.213Honeycomb(蜂巢)2011年07月
Android 3.1.x12Honeycomb(蜂巢)2011年05月
Android 3.0.x11Honeycomb(蜂巢)2011年02月
Android 2.3.4、2.3.310Gingerbread(姜饼)

2011年02月 

Android 2.3.2、2.3.1、2.39Gingerbread(姜饼)2010年12月
Android 2.2.x8Froyo(冻酸奶)2010年05月
Android 2.1.x7Eclair(泡芙)2010年01月
Android 2.0.16Eclair(泡芙)2009年12月
Android 2.05Eclair(泡芙)2009年10月
Android 1.64Donut(甜甜圈)2009年09月
Android 1.53Cupcake(纸杯蛋糕)2009年04月
Android 1.12BASE_1_12009年02月
Android 1.01BASE2008年09月

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值