Android Studio 之 Gradle 安装配置和编译

Android Studio 之 Gradle 安装配置和编译目录目录前言 Gradle 简介 Gradle 安装 Gradle 构建项目 XYALLappbuil 模块 gradle 配置文件 XYALLbuildgr 整个项目的 gradle 配置文件 XYALLgradlew wrapperprope 版本统一管理文件 settingsgrad 项目模块引用配置文件前言由于生产力很大一部分取决于生产工具

目录


前言

由于生产力很大一部分取决于生产工具的使用,为了紧跟时代的潮流,我也从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

可以看到,其中有串很诡异的无规律的字符串,这个是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. 整个项目的模块引用配置文件。

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


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/目录下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220997.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:10
下一篇 2026年3月17日 下午7:10


相关推荐

  • Sqlsession 的理解

    Sqlsession 的理解MyBatis 的持久化解决方案是将用户从原始的 JDBC 访问中解放出来 用户只需要定义需要操作的 SQL 语句 无须关注底层的 JDBC 操作 就可以以面向对象的方式来进行持久化层操作 底层数据库连接的获取 数据访问的实现 事务控制等都无须用户关心 从而将应用层从底层的 JDBC JTAAPI 抽取出来 通过配置文件管理 JDBC 连接 让 MyBatis 解决持久化的实现 在 MyBatis 中的常见对象有 SqlSes

    2026年3月16日
    2
  • pycharm和python区别是什么

    pycharm和python区别是什么pycharm 和 python 区别 1 首先它们的下载地址和安装的方式不同 2 python 是一种基本编译环境 就像 java 和 jar 一样 pycharm 是一种集成开发环境 为了能够让你快速编写代

    2026年3月19日
    2
  • 机器学习十大算法简介

    机器学习十大算法简介K-Means算法K-Means算法是一种聚类算法,把n个对象根据他们的属性分成k个分类,并且使这K个分割的内部相似度最大,而分割之间的相似度最小。其主要的算法流程如下:1.从n个对象中任意选K个对象,作为每个聚类的中心2.根据K个中心,按照每个对象离K个中心的最小距离(离那个中心近,就划分到哪个中心),将n个对象划分成K个分割(聚类)3.然后计a ge su a分割的中心(

    2025年5月28日
    5
  • PHP连接数据库学习手册

    PHP连接数据库学习手册范例 nbsp 1 Select nbsp 指令任务 连结到 nbsp Access nbsp 的 nbsp NorthwindDSN 然后在每一列显示头 2 个字段 Northwind nbsp 北风数据库 在 ODBC 设定的 DSN 是 Access 的标准范例数据库 在这个范例中 我们建立一个 nbsp ADOConnectio nbsp 对象 它代表了和数据库的连结 连结是以 nbsp PConnect nbsp 函数来初始化的 然后会持续的连结着 任何时候我们要查询数据库时

    2026年3月18日
    2
  • IDEA卸载

    IDEA卸载第一步:打开文件安装目录,点击1,鼠标右击【属性】,再点击打开文件安装位置。第二步:在打开的文件夹里面。找到【Uninstall.exe】这一选项。操作参照我在图中标注,双击使其正常运行启动。第三步:卸载过程的弹出框确认,是否需要删除一些配置和历史记录。第四步:就是确认前面的设置之后,然后就静静的等待进度条完成即可。第五步:删除的内容可以关注下,很多的删除了C盘的…

    2022年6月14日
    1.7K
  • MFC 加载 EXCEL 并快速读取大量数据

    MFC 加载 EXCEL 并快速读取大量数据MFC 加载 EXCEL 库可以查看 http t csdn cn U8TJU 这里主要记录一下读取 EXCEL 数据的方式 方式一 遍历所有单元格 不适用于大数据量 CApplication CWorkbooksbo CWorkbookboo CWorksheetss CWorksheetsh CRangerange CRangeoCurCe LPDISPATCHlp COleVariantv

    2026年3月3日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号