Android Studio教程(五)之Gradle

本文详细介绍了Gradle作为Android开发中的构建工具的作用及配置方法。从Gradle的基础概念到其在Android Studio项目中的具体应用,包括Gradle配置文件的解析及常见错误处理。

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

一、Gradle基础

1、Gradle概念

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。

2Gradle构建

Android Studio使用Gradle构建工具,EclipseADT插件使用的是Ant构建工具。要知道构建的概念首先了解下程序的生成过程,可以百度一下,有很多优秀的博文。通过对博客的阅览,初步知道程序的生成过程其实就是将.dex文件、资源文件和.aidl文件打包成apk的过程。

Gradle针对不同语言有不同插件,Android平台叫Android Gradle Plugin

3、为什么使用Gradle

因为Gradle内置通过MavenLvy进行依赖管理。

依赖管理又是什么意思呢?蛮简单来说就是管理依赖的jar包。

那仓库又是什么东西呢?仓库:简单理解就是存的一些jar包的云端

常见的仓库有如下三种:

* maven

* ivy

* jcenter仓库地址

常见写法

mavenCentral()别名,表示依赖是从Central Maven 2仓库中获取的。

jcenter()别名,表示依赖是从Bintary’s JCenter Maven仓库中获取的。

mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的

仓库地址举例

repositories {//默认仓库

    jcenter()//它是当前世界上最大的JavaAndroid开源软件构件仓库

}

4Gradle配置

1、配置Gradle的环境变量:

①配置GRADLE_HOME-->D:\Android\Android Studio\gradle\gradle-2.10

②配置path-->%GRADLE_HOME%\bin

2、配置GRADLE_USER_HOME(随意指定一个目录主要是防止使用c盘过大空间)

-->D:\java\gradle\.gradle 默认是在C:\Users\ifengouy\.gradle

注:可在工作空间的build.gradle查看Gadle的使用的版本。

二、项目中Gradle的含义

AS项目中,项目下以及每个modle各有一个gradle脚本。

1、MyApplication/build.gradle

这个文件是整个项目的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'

        // 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
}
内容主要包括以下两方面:

一个是声明仓库的源,这里可以看到是指明的jcenter(),之前版本则是mavenCentral(), jcenter可以理解成是一个远程仓库,兼容maven中心仓库,而且性能更优。

另一个是声明了android gradle pluginGradle插件)版本,需和AS安装目录下的gradle版本一致。入我的在D:\Android\Android Studio\gradle目录下:

2MyApplication/App/build.gradle

这个文件是app文件夹下这个Modulegradle配置文件,也可以算是整个项目最主要的gradle配置文件,如图:

// 声明是Android程序,如果是.library则为类库
apply plugin: 'com.android.application'

android {
    // 编译SDK的版本,对应sdk的platforms
    compileSdkVersion 23
    // build tools的版本,对应sdk的build-tools
    buildToolsVersion "23.0.3"

    //等价于eclispe的<usesdk/>
    defaultConfig {
        // 应用的包名
        applicationId "com.example.ifengouy.myapplication"
        //等价于eclipse的minSdkVersion,表示支持的最低的android系统
        minSdkVersion 15
        //等价于eclipse的targetSdkVersion,表示支持的最高android系统
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    // java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    
    buildTypes {
        //发行
        release {
            //打包的时候是否进行压缩,false表示不压缩
            minifyEnabled false
            //proguard-rules.pro定义混淆规则的文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
//依赖
dependencies {
    //编译libs目录下的所有jar包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    // 编译extras目录下的ShimmerAndroid模块
    compile project(':extras:ShimmerAndroid')
}

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

3、MyApplication/settings.gradle

这个文件是全局的项目配置文件,里面主要声明一些需要加入gradlemodule,如我的MyApplication项目就包含app这一个model

include ':app'

4、注意如下三个常见错误

compileSdkVersion不存在

buildToolsVersion不存在

com.android.tools.build:gradle:2.1.0不存在

如果出是由于如上三个版本不对,需进行配置,配置成电脑上已经安装的版本即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值