AndroidStudio 使用总结:关于Gradle的信息

时间:2015-06-05 21:11:19   收藏:0   阅读:545
本文转载自:http://segmentfault.com/a/1190000002439306

什么是Gradle?

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

安装Gradle

Android Studio系列教程一--下载与安装中新建项目成功后会下载Gradle,貌似这个过程不FQ也是可以下载,但是访问特别慢,建议FQ下载。那么下载的Gradle到什么地方呢?

你会看到这个目录下有个 gradle-x.xx-all 的文件夹, 如果下载实在太慢,但是又不想FQ的话,可以自己手动到Gradle官网下载对应的版本,然后将下载的.zip文件(也可以解压)复制到上述的gradle-x.xx-all 文件夹下,不过还是建议让它直接下载的好。

Gradle 基本概念

下面就以我的开源项目 9GAG 来详细讲解下和Gradle相关的知识, 和Gradle相关的几个文件一般有如下几个:

技术分享

红色标记部分从上到下咱们来一步步分析:

1. 9GAG/app/build.gradle

这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件,我们来看下这个文件的内容:

 1 // 声明是Android程序
 2 apply plugin: ‘com.android.application‘
 3 
 4 android {
 5     // 编译SDK的版本
 6     compileSdkVersion 21
 7     // build tools的版本
 8     buildToolsVersion "21.1.1"
 9 
10     defaultConfig {
11         // 应用的包名
12         applicationId "me.storm.ninegag"
13         minSdkVersion 14
14         targetSdkVersion 21
15         versionCode 1
16         versionName "1.0.0"
17     }
18 
19     // java版本
20     compileOptions {
21         sourceCompatibility JavaVersion.VERSION_1_7
22         targetCompatibility JavaVersion.VERSION_1_7
23     }
24 
25     buildTypes {
26         release {
27             // 是否进行混淆
28             minifyEnabled false
29             // 混淆文件的位置
30             proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
31         }
32     }
33 
34     // 移除lint检查的error
35     lintOptions {
36       abortOnError false
37     }
38 }
39 
40 dependencies {
41     // 编译libs目录下的所有jar包
42     compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
43     compile ‘com.android.support:support-v4:21.0.2‘
44     compile ‘com.etsy.android.grid:library:1.0.5‘
45     compile ‘com.alexvasilkov:foldable-layout:1.0.1‘
46     // 编译extras目录下的ShimmerAndroid模块
47     compile project(‘:extras:ShimmerAndroid‘)
48 }

 

这里需要说明几点:

2. 9GAG/extras/ShimmerAndroid/build.gradle

每一个Module都需要有一个gradle配置文件,语法都是一样,唯一不同的是开头声明的是 apply plugin: ‘com.android.library‘

3. 9GAG/gradle

这个目录下有个 wrapper 文件夹,里面可以看到有两个文件,我们主要看下 gradle-wrapper.properties 这个文件的内容:

1 #Thu Dec 18 16:02:24 CST 2014
2 distributionBase=GRADLE_USER_HOME
3 distributionPath=wrapper/dists
4 zipStoreBase=GRADLE_USER_HOME
5 zipStorePath=wrapper/dists
6 distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。

4. 9GAG/build.gradle

这个文件是整个项目的gradle基础配置文件,我们来看看这里面的内容

 1 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 2 
 3 buildscript {
 4     repositories {
 5         jcenter()
 6     }
 7     dependencies {
 8         classpath ‘com.android.tools.build:gradle:1.0.0‘
 9     }
10 }
11 
12 allprojects {
13     repositories {
14         jcenter()
15     }
16 }

内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。

5. 9GAG/settings.gradle

这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,我们来看看9GAG该文件的内容:

1 include ‘:app‘, ‘:extras:ShimmerAndroid‘

文件中的 app, extras:ShimmerAndroid 都是module,如果还有其他module都需要按照如上格式加进去。

总结

关于gradle的基础知识就介绍到这里,接下来会介绍一种我常用的快速方便的编译查看第三方开源项目的方法,如何导入Android Studio,Gradle常用基本命令,多渠道打包配置等。有疑问或者发现错误欢迎大家直接博客留言。

原文:http://www.cnblogs.com/jerome-android/p/4555512.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!