Android Studio 之 Gradle 安装配置和编译

目录


前言

由于生产力很大一部分取决于生产工具的使用,为了紧跟时代的潮流,我也从Eclipse切换到Android Studio来进行Android开发。

使用Android Studio的时候,最先遇到的难点应该就是Gradle的安装、配置和使用。这篇文章就针对我遇到的坑讲解一下如何在Android Stduio中配置Gradle。


Gradle简介

Gradle与Ant、Maven类似,是一种项目构建工具,之前使用的Eclipse是使用Ant来实现项目构建的。

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


Gradle安装

在Android Studio中第一次创建项目的时候,会自动下载Gradle。但是,由于国内互联网大环境影响,所以一般不使用代码的话,下载都会失败。所以这里介绍一种如何让Android Stuido使用已经下载好的gradle版本的方法。

首先,File->Settings->搜索gradle,将gradle的默认下载目录指定为:~/.gradle。同时,不要着急立刻将从网上下载的最新的gradle版本放到这个目录下,因为Android Studio对目录结构是有要求的。
android studio settings

Ubuntu下,Gradle默认的目录结构如下:
gradle path

可以看到,其中有串很诡异的无规律的字符串,这个是Android Studio自动生成的,你从网上下载的zip包必须要放到这个目录下才行。所以我推荐的做法是:

  1. 让Android Studio先自行下载一会Gradle,这样可以确定Gradle的安装目录和Gradle的版本。
  2. 从Gradle的官网上下载指定的版本(不一定是最新的,我安装的Android Studio需要的是gradle-2.4版本),然后将下载的zip包扔到那个无规律字符串目录下。记住:不需要解压,android studio自己会去解包
  3. 在你自己的.bashrc文件里,配置一下GRADLE_PATH,如下:
# add gradle path
export GRADLE_PATH=/home/wzy/.gradle/wrapper/dists/gradle-2.4-all/6r4uqcc6ovnq6ac6s0txzcpc0/gradle-2.4
export GRADLE_USER_HOME=/home/wzy/.gradle
export PATH=$GRADLE_PATH/bin:$PATH

××××

Gradle构建项目

使用Gradle来构建项目的时候,需要对Gradle的配置文件有个大概的了解,以我的一个测试应用项目为例,Gradle的配置文件主要有:

  1. 每个模块的gradle配置文件。
  2. 整个项目的gradle配置文件。
  3. 统一管理gradle的gradle-wrapper配置文件。
  4. 整个项目的模块引用配置文件。

如下图所示:
gradle-android_studio

接下来,我根据上述标记的红色部分进行逐一讲解。


XYALL/app/build.gradle(模块gradle配置文件)

我们首先来看一下这个配置文件的内容:

// 声明是android程序
apply plugin: 'com.android.application'

android {
    // 编译SDK的版本
    compileSdkVersion 23
    // build tools的版本
    buildToolsVersion "23.0.1"

    defaultConfig {
        // 应用包名
        applicationId "com.example.wzy.xyall"
        // 支持最低设备sdk的版本
        minSdkVersion 19
        // 支持目标设备sdk的版本
        targetSdkVersion 23
        // 应用版本号
        versionCode 1
        // 应用版本名称
        versionName "1.0"
    }

    buildTypes {
        release {
            // 是否进行混淆
            minifyEnabled false
            // 混淆文件的位置
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    // 移除lint检查的error,防止编译终止
    lintOptions {
        abortOnError false
    }
}

dependencies {
    // 编译libs目录下所有的jar包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
}

有几点需要说明:

  1. 文件开头apply plugin,如果是编译apk,值为’com.android.application’,如果编译的是库,则需要改为’com.android.library’。
  2. buildToolsVersion必须是你本地安装的版本,可以通过SDK MANAGER来进行查看。这个值配置不对,会造成编译错误。

XYALL/build.gradle(整个项目的gradle配置文件)

文件内容如下:

buildscript {
    repositories {
        // gradle插件下载中心为jcenter
        jcenter()
    }
    // gralde插件的具体版本。
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

// 项目中使用到的库、jar包的下载中心
allprojects {
    repositories {
        jcenter()
    }
}

XYALL/gradle/wrapper/gradle-wrapper.properties(gradle版本统一管理文件)

文件内容如下:

#Mon Sep 21 12:15:49 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

gradle-wrapper的作用就是使用统一的方式来管理gradle,保证gradle使用的是统一的版本。说明几点:

  1. android studio首先从distributionBase/distributionPath查找gradle。
  2. 然后,从zipStoreBase/zipStorePath查找gradle。
  3. 如果上述都没有找到合适的gradle,则从distributionUrl指定的url去下载gradle。

注意:这里需要在.bashrc中增加GRADLE_USER_HOME的变量定义。


settings.gradle(项目模块引用配置文件)

这个是全局的项目配置文件,里面主要声明一些需要加入gradle的模块。

include ':app'

示例项目的配置表示只要app模块的build.gradle加入到编译中。


编译

上述配置完成后,就可以使用gradle编译项目了。常用的构建命令如下:

  1. gradle clean: 清除之前的构建。
  2. gradle test:执行测试。
  3. gradle compileJava:编译java。
  4. gradle check:代码检查。
  5. gradle build:构建打包。

最后再提示一下,构建打包完成后,编译出来的apk位于:$项目/app/build/outputs/apk/目录下。

  • 15
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Gradle是一种基于Apache Ant和Apache Maven概念的自动化构建工具,用于Java项目的自动化构建、依赖管理和测试等。在Android Studio中,Gradle被用来构建和管理Android项目。 Gradle配置包括: 1. 项目级别的Gradle配置:位于项目根目录下的build.gradle文件中,用于配置整个项目的构建和依赖管理。 2. 模块级别的Gradle配置:位于每个模块的build.gradle文件中,用于配置该模块的构建和依赖管理。 在Gradle配置中,常见的配置项包括: 1. repositories:用于指定依赖库的仓库地址,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 2. dependencies:用于指定项目的依赖库,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 3. buildTypes:用于指定项目的构建类型,例如debug、release等。 4. productFlavors:用于指定项目的产品风味,例如free、paid等。 5. compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion等:用于指定项目的编译版本、构建工具版本、最低支持版本和目标版本等。 以上是Android StudioGradle配置的基础内容,具体配置还需要根据项目需求进行调整。 ### 回答2: GradleAndroid Studio中的一种构建工具,用于编译、打包、发布Android应用程序。它使用Groovy语言编写,基于Apache Maven和Apache Ant构建工具的优点,支持灵活的构建脚本并提供了丰富的插件,可以有效地管理依赖关系、自动化构建任务、自动导入库等。 在Android Studio中,Gradle配置分为两部分:项目级别的Gradle配置和模块级别的Gradle配置。 项目级别的Gradle配置包括build.gradle文件和gradle-wrapper.properties文件。build.gradle文件是Gradle构建脚本的主文件,它定义了项目的构建方式、仓库地址、插件,以及需要构建的模块等。gradle-wrapper.properties文件是Gradle包装器的配置文件,它定义了Gradle版本号并指定了Gradle下载地址。 模块级别的Gradle配置包括build.gradle文件和proguard-rules.pro文件。build.gradle文件包括了该模块的构建配置,包括依赖库、运行时权限、签名方式,以及生成的APK路径等。proguard-rules.pro文件是混淆规则文件,它包括了混淆代码时需要忽略的类和方法等信息。 要配置Gradle,我们需要根据实际需要添加或修改相应的内容。例如,添加依赖库可以在build.gradle文件的dependencies节点中添加相关依赖库信息,例如: implementation 'com.android.support:appcompat-v7:28.0.0' 如果需要修改混淆规则,可以在proguard-rules.pro文件中添加相关规则,例如: -keep class com.example.app.** { *;} 总之,Gradle是一款功能强大的构建工具,它可以帮助开发者自动化构建任务,管理依赖关系等。对于Android开发者而言,掌握Gradle配置是非常重要的技能,可以提高开发效率,降低开发成本。 ### 回答3: Android Studio是一种支持Android应用程序开发的集成开发环境,而Gradle则是一种基于Apache Maven和Ant的开源构建自动化工具。它可以更轻松地以面向对象的方式来管理Java工程。在Android Studio中,使用Gradle配置可以使项目更加方便,同时也具备了灵活性。 首先,我们需要了解一些Android StudioGradle配置的基本知识。可以在项目的根目录下找到build.gradle文件,这是Gradle构建脚本文件的主要文件之一。它包含了项目构建所需的所有配置信息,如编译版本号、依赖项等。在Gradle构建脚本中,有两个重要的部分称为buildscript和dependencies。 buildscript: buildscript的配置项是为了配置Gradle编译环境。通常包含如下的内容: - repositories: Gradle插件库和第三方库的URL地址。 - dependencies: Gradle插件列表,所有的插件都需要在这个部分声明,基本上最常见的就是com.android.tools.build:gradle。 dependencies: dependencies部分包含项目依赖的所有库文件,例如支持库和第三方库。我们可以通过在dependencies块中添加依赖项来设置库和版本: 例如: ``` dependencies { compile 'com.android.support:appcompat-v7:26.0.0-beta1' compile 'com.android.support.constraint:constraint-layout:1.0.2' } ``` 此外,我们还可以更改项目编译版本。可以在build.gradle文件中修改编译版本信息,例如minSdkVersion,targetSdkVersion和compileSdkVersion。以下是一个示例: ``` android { compileSdkVersion 27 defaultConfig { minSdkVersion 19 targetSdkVersion 27 ... } buildTypes { release { ... } } } ``` 在配置Gradle时,我们还可以添加自定义任务。Gradle提供了一组系统任务,例如clean,assemble,build和check等。我们也可以使用Gradle插件以及自定义任务来自己指定相关任务。 总之,配置Gradle可以使Android Studio更加灵活,能够更好地管理、构建和部署项目。通过使用Gradle构建脚本,我们可以更方便地进行依赖项管理以及其他任务。同时,它还支持自定义插件和扩展,以满足我们的特定需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值