Android(安卓)Studio 之 Gradle 安装配置和编译
目录
- 目录
- 前言
- Gradle简介
- Gradle安装
- Gradle构建项目
- XYALLappbuildgradle模块gradle配置文件
- XYALLbuildgradle整个项目的gradle配置文件
- XYALLgradlewrappergradle-wrapperpropertiesgradle版本统一管理文件
- settingsgradle项目模块引用配置文件
- 编译
前言
由于生产力很大一部分取决于生产工具的使用,为了紧跟时代的潮流,我也从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对目录结构是有要求的。
Ubuntu下,Gradle默认的目录结构如下:
可以看到,其中有串很诡异的无规律的字符串,这个是Android Studio自动生成的,你从网上下载的zip包必须要放到这个目录下才行。所以我推荐的做法是:
- 让Android Studio先自行下载一会Gradle,这样可以确定Gradle的安装目录和Gradle的版本。
- 从Gradle的官网上下载指定的版本(不一定是最新的,我安装的Android Studio需要的是gradle-2.4版本),然后将下载的zip包扔到那个无规律字符串目录下。记住:不需要解压,android studio自己会去解包。
- 在你自己的.bashrc文件里,配置一下GRADLE_PATH,如下:
# add gradle pathexport GRADLE_PATH=/home/wzy/.gradle/wrapper/dists/gradle-2.4-all/6r4uqcc6ovnq6ac6s0txzcpc0/gradle-2.4export GRADLE_USER_HOME=/home/wzy/.gradleexport PATH=$GRADLE_PATH/bin:$PATH
××××
Gradle构建项目
使用Gradle来构建项目的时候,需要对Gradle的配置文件有个大概的了解,以我的一个测试应用项目为例,Gradle的配置文件主要有:
- 每个模块的gradle配置文件。
- 整个项目的gradle配置文件。
- 统一管理gradle的gradle-wrapper配置文件。
- 整个项目的模块引用配置文件。
如下图所示:
接下来,我根据上述标记的红色部分进行逐一讲解。
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'}
有几点需要说明:
- 文件开头apply plugin,如果是编译apk,值为’com.android.application’,如果编译的是库,则需要改为’com.android.library’。
- 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 2015distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
gradle-wrapper的作用就是使用统一的方式来管理gradle,保证gradle使用的是统一的版本。说明几点:
- android studio首先从distributionBase/distributionPath查找gradle。
- 然后,从zipStoreBase/zipStorePath查找gradle。
- 如果上述都没有找到合适的gradle,则从distributionUrl指定的url去下载gradle。
注意:这里需要在.bashrc中增加GRADLE_USER_HOME的变量定义。
settings.gradle(项目模块引用配置文件)
这个是全局的项目配置文件,里面主要声明一些需要加入gradle的模块。
include ':app'
示例项目的配置表示只要app模块的build.gradle加入到编译中。
编译
上述配置完成后,就可以使用gradle编译项目了。常用的构建命令如下:
- gradle clean: 清除之前的构建。
- gradle test:执行测试。
- gradle compileJava:编译java。
- gradle check:代码检查。
- gradle build:构建打包。
最后再提示一下,构建打包完成后,编译出来的apk位于:$项目/app/build/outputs/apk/目录下。
更多相关文章
- Androrat 编译运行错误集
- Android(安卓)网络框架Volley JAR包生成
- NDK HOWTO
- 【Android】问题记录2019/3/18:上传APP到Google Play因为权限问题
- 创建一个android项目与创建一个android虚拟设备
- [置顶] 解决Android(安卓)SDK和Android(安卓)Studio不能更新的问
- Gradle命令为Unity导出Jar备忘
- Android(安卓)studio导入eclipse项目找不到R文件
- Unity 打包错误:CommandInvokationFailure: Failed to build apk