作家
登录

Gradle for Android第一篇( 从Gradle和AS开始 )

作者: 来源: 2017-04-10 15:35:40 阅读 我要评论

正如大年夜家所见,这是本英文书,而因为国内的gradle翻译材料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加本身的心得领会以及在实际工作上的拭魅战,欲望大年夜家可以或许爱好。

Gradle for Android 第一篇( 大年夜 Gradle 和 AS 开端 )

如不雅你是名Android开辟新手,或者是名大年夜eclipse切换到Android studio的新手,那么我强烈建议您follow我的文┞仿,正如封面所见,应用gradle构建对象来主动构建你的Android项目。废话不多说,我们直接开端吧。

今上帝要介绍Android studio对象的应用,以及cradle基本入门,应用cradle wrapper和若何大年夜eclipse迁徙到Android studio。

这篇文┞仿记于2015.12.30,Android studio正式版本已经开辟到1.5,而预览版已经到了2.0,所以转到Android studio吧。

当你第一次打开Android studio的时刻,有一个视图显示你即将创建的情况以及确保你应用了最新的Android SDK和须要的google依附包,同时会让钠揭捉?择是否创建AVD,如许你就可以应用模仿器了。在这儿多说几句:

  1. 尽量应用Android studio 2.0,因为它真的变快了,而其模仿器的速度也晋升了不少,我应用至今,也无发明任何bug,所以完全不消担心。
  2. 如不雅应用模仿器开辟Android,尽量应用Genymotion模仿器,尽管其如今的Android6.0仍然有很多bug,然则在其以下版本,其速度照样异常快的,应用模仿器开辟,为虚拟机安装文件夹浏览器,是及时查看SQLite表文件利器,具体操作办法,可以google。
  3. 尽量应用最新的23.0.0以上的构建版本。

懂得根本的Gradle

如不雅你想创建一个Android project基于gradle,那么你必须写一个构建脚本,这个文件平日称之为build.grade,你可能已经发觉到了,当我们查看这一脚本,gradle会为我们供给很多默认的设备以及平日的默认值,而这极大年夜的简化了我们的工作,例如ant和maven,应用他们的时刻,我们须要编写大年夜量的设备文件,而这很恶心。而gradle得默认设备,如不雅你须要应用本身的设备,完全可以简单的去重写他们就好。

Gradle脚本不是像传统的xml文件那样,而是一种基于Groovy的动态DSL,而Groovy说话是一种基于jvm的动态说话。

Project和tasks

在grade中的两大年夜重要的概念,分别是project和tasks。每一次构定都是有至少一个project来完成,所以Android studio中的project和Gradle中的project不是一个概念。每个project有至少一个tasks。每一个build.grade文件代表着一个project。tasks在build.gradle中定义。当初始化构建过程,gradle会基于build文件,集合所有的project和tasks,一个tasks包含了一系列动作,然后它们将会按照次序履行,一个动作就是一段被履行的代码,很像Java中的办法。

构建的生命周期

基于grade构建的项目平日至少有一个build.gradle,那么我们来看看Android的build.gradle:

一旦一个tasks被履行,那么它不会再次履行了,不包含依附的Tasks老是优先履行,一次构建将会经历下列三个阶段:

  • 初始化阶段:project实例在这儿创建,如不雅有多个模块,即竽暌剐多个build.gradle文件,多个project将会被创建。
  • 设备阶段:在该阶段,build.gradle脚本将会履行,为每个project创建和设备所有的tasks。
  • 履行阶段:这一阶段,gradle会决定哪一个tasks会被履行,哪一个tasks会被履行完全依附开端构建时传入的参数和当前地点的文件夹地位有关。

build.gradle的设备文件

  1. buildscript { 
  2.    repositories { 
  3.         jcenter() 
  4.    } 
  5.    dependencies { 
  6.        classpath 'com.android.tools.build:gradle:1.2.3' 
  7.  }  
  8.  

这个就是实际构建开端的处所,在仓库地址中,我们应用了JCenter,JCenter类似maven库,不须要任何额外的设备,grade还支撑其他几个仓库,不论是长途照样本地仓库。

总结

构建脚本也定义了一个Android构建对象,这个就是Android plugin的来源之处。Android plugin供给了所有须要去构建和测试的应用。每个Android应用都须要这么一个插件:

  1. apply plugin: 'com.android.application' 
  1. $ gradlew assembleDebug 

插件用于扩大gradle脚本的才能,在一个项目中应用插件,如许该项目标构建脚本就可以定义该插件定义好的属性和应用它的tasks。

留意:当你在开辟一个依附库,那么你应当应用’com.android.library’,并且你不克不及同时应用他们2个,这将导致构建掉败,一个模块要么应用Android application或者Android library插件,而不是二者。

当应用Android 插件的时刻,Android标签将可以被应用,如下所示:

更多的属性我们将在第二章中进行评论辩论。


  推荐阅读

  Redis缓存技术学习系列之事务处理

Redis中的事务处理在本系列的第一篇文┞仿中,我们重要针对Redis中的“键”和“值”进行了进修。我们可以留意到,Redis是一个C/S架构的数据库,在我们今朝的认知中,>>>详细阅读


本文标题:Gradle for Android第一篇( 从Gradle和AS开始 )

地址:http://www.17bianji.com/lsqh/34687.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)