新書推薦:
《
大英博物馆东南亚简史
》
售價:NT$
806.0
《
纯粹·我只要少许
》
售價:NT$
367.0
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:NT$
403.0
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:NT$
316.0
《
日子慢慢向前,事事慢慢如愿
》
售價:NT$
254.0
《
场景供应链金融:将风口变成蓝海
》
售價:NT$
509.0
《
汗青堂丛书146·布鲁克王朝:一个英国家族在东南亚的百年统治
》
售價:NT$
418.0
《
人生是旷野啊
》
售價:NT$
332.0
|
編輯推薦: |
通过本书你能学到
1.使用Android Studio和Gradle来构建新的Android应用和依赖。
2.将项目从Eclipse迁移到Android Studio和Gradle。
3.管理本地和远程依赖。
4.创建多个构建变种版本。
5.在单个项目中包含多个模块.。
6.将测试整合到构建过程。
7.为Android项目创建自定义的任务和插件。
|
內容簡介: |
Gradle是Android 开发小组于2013年推出的作为Android 应用的首选的构建系统。Gradle可以很容易地扩展构建,并插入到现有的构建过程中来。它提供了一套类Groovy 的DSL 语言,用于申明构建和创建任务,让依赖管理变得更加简单。此外,它是完全免费和开源的。本书共分9章,依次介绍了Gradle的基础知识、基本自定义构建、依赖管理、创建构建Variants、管理多模块构建、运行测试、创建tasks和插件、设置持续集成,以及高级自定义构建。
|
關於作者: |
毕业于东北大学软件学院软件工程,曾在成都国际软件Android项目获得一等奖,国家级创新创业项目二等奖,在用友UAP部门,担任Android开发工程师,负责企业即时通讯项目,在招联消费金融公司,担任Android高级开发工程师,负责公司Android技术体系搭建和产品研发工作。 Kevin Pelgrims 是比利时的一名.NET 开发者。在Windows 和Web 开发企业客户端工作几年后,他搬到了哥本哈根,成为了创办社区的一分子。在那里,他开始在移动平台上工作,并且在一年内成为了几款Android 和Windows Phone 应用的开发主管。Kevin 也是Android 开发小组在哥本哈根的演讲常客。在业余时间,他不仅维护了数个Android应用,还喜欢试用不同的服务器端技术。当他不忙于写代码时,他最喜欢给他的妻子和他们的猫弹吉他。
|
目錄:
|
目录
1 Gradle和Android Studio入门 ............................................................................................. 1
1.1 Android Studio .......................................................................................................................1
1.2 理解Gradle基础 .....................................................................................................................3
1.2.1 项目和任务................................................................................................................3
1.2.2 构建生命周期............................................................................................................4
1.2.3 构建配置文件............................................................................................................4
1.2.4 项目结构....................................................................................................................5
1.3 创建新项目 ............................................................................................................................6
1.4 Gradle Wrapper入门 ............................................................................................................10
1.4.1 获取Gradle Wrapper ...............................................................................................10
1.4.2 运行基本构建任务..................................................................................................12
1.5 迁移出Eclipse ......................................................................................................................13
1.5.1 导入向导..................................................................................................................13
1.5.2 手动迁移..................................................................................................................15
1.6 总结 ......................................................................................................................................17
2 基本自定义构建 ............................................................................................................... 19
2.1 理解Gradle文件 ...................................................................................................................19
2.1.1 settings 文件 ............................................................................................................20
Gradle for Android 中文版
【XII】
2.1.2 顶层构建文件..........................................................................................................20
2.1.3 模块的构建文件......................................................................................................21
2.2 任务入门 ..............................................................................................................................23
2.2.1 基础任务..................................................................................................................24
2.2.2 Android 任务 ...........................................................................................................24
2.2.3 Android Studio .........................................................................................................25
2.3 自定义构建 ..........................................................................................................................27
2.3.1 操控manifest 条目 ..................................................................................................28
2.3.2 BuildConfig 和资源 .................................................................................................29
2.3.3 项目范围的设置......................................................................................................30
2.3.4 项目属性..................................................................................................................30
2.3.5 默认的任务..............................................................................................................32
2.4 总结 ......................................................................................................................................32
3 依赖管理 .......................................................................................................................... 33
3.1 依赖仓库 ..............................................................................................................................33
3.1.1 预定义依赖仓库......................................................................................................34
3.1.2 远程仓库..................................................................................................................35
3.1.3 本地仓库..................................................................................................................36
3.2 本地依赖 ..............................................................................................................................37
3.2.1 文件依赖..................................................................................................................37
3.2.2 原生依赖库..............................................................................................................37
3.2.3 依赖项目..................................................................................................................38
3.3 依赖概念 ..............................................................................................................................39
3.3.1 配置..........................................................................................................................39
3.3.2 语义化版本..............................................................................................................40
3.3.3 动态化版本..............................................................................................................40
3.4 Android Studio .....................................................................................................................41
3.5 总结 ......................................................................................................................................43
目录
【XIII】
4 创建构建Variant .............................................................................................................. 44
4.1 构建类型 ..............................................................................................................................45
4.1.1 创建构建类型..........................................................................................................45
4.1.2 源集..........................................................................................................................47
4.1.3 依赖..........................................................................................................................49
4.2 product flavor .......................................................................................................................49
4.2.1 创建product flavor ..................................................................................................49
4.2.2 源集..........................................................................................................................50
4.2.3 多种定制的版本......................................................................................................50
4.3 构建variant ..........................................................................................................................51
4.3.1 任务..........................................................................................................................52
4.3.2 源集...........................................................................................................
|
內容試閱:
|
前言
Android 应用的构建过程是一个非常复杂的过程,涉及很多工具。首先,所有的资源文件都会被编译,并且在一个R 文件中引用。然后Java 代码被编译,之后通过dex 工具转换成dalvik 字节码。最后这些文件会被打包成一个APK 文件,这个应用被最终安装在设备中之前,APK 文件会被一个 debug 或者release 的key 文件签名。
这些步骤如果由人工去完成,不仅烦琐,而且费时。幸运的是,Android 开发小组致力于提供关注这一打包过程的开发者工具,2013 年他们推出了Gradle,作为Android 应用新的首选构建系统。Gradle 设计的方式使得它可以很容易地扩展构建和插入到现有的构建过程中。它提供了一套类Groovy 的DSL 语言,用于申明构建和创建任务,让依赖管理变得更加简单。此外,它还是完全免费和开源的。
现在,许多Android 开发者已经切换到Gradle,但是仍有大部分人不知道如何很好地利用它,不清楚为什么几行代码就可以实现。本书旨在帮助那些开发人员,将他们变成Gradle 的使用者。本书从Gradle 基础知识开始,然后介绍依赖、构建variants、测试、创建任务等。
本书涵盖内容
第1 章,Gradle 和Android Studio 入门,解释为什么Gradle 很有用、如何利用AndroidStudio 开始工作,以及Gradle Wrapper 是什么。
第2 章,基本自定义构建,深入到Gradle 构建文件和任务,展示如何做简单的自定义构建过程。
第3 章,依赖管理,展示如何使用依赖,包括本地和远程依赖,并解释了依赖相关的概念。
第4 章,创建构建Variants,介绍构建类型和product flavors,解释其不同之处,并展示如何使用签名参数。
第5 章,管理多模块构建,解释如何管理应用、依赖库、测试模块,以及如何集成它们。
第6 章,运行测试,介绍了一些用于单元测试和功能测试的测试框架,以及如何进行自动化测试并获得测试覆盖率报告。
第7 章,创建任务和插件,解释Groovy 的基础知识,并展示了如何创建自定义任务,以及如何将其hook 到Android 构建进程。本章还介绍了如何创建一个可重用的插件。
第8 章,设置持续集成,使用最常用的CI 系统,提供自动化构建指导。
第9 章,高级自定义构建,展示一些提示和技巧来缩小APK 的大小,加快构建进程,基于密集度或平台来分割APK。
你还需要什么
为了演示所有的例子,你需要一台装有Windows、Mac OS X 或者Linux 的电脑。你还需要安装Java 开发组件,建议你安装Android Studio,因为其在大部分章节都有提及。
这本书是为谁而写的
这本书是为了那些想更好地理解构建系统、成为构建进程能手的Android 开发者而编写的。我们将从Gradle 的基础知识讲起,然后是创建自定义任务和插件,再到自动生成构建进程。我们假设你熟悉Android 平台的开发。
约定
在本书中,你会发现很多文本样式用于区分不同的信息。下面是这些样式的一些例子和它们的含义。
文本中的代码词汇、数据库表名、文件夹名、文件名、文件扩展、路径名称、假设的URL 地址、用户输入以及Twitter 用户定位如下所示。(每个build.gradle 文件代表着一个项目。)
Gradle for Android中文版
【VIII】
代码块的样式如下:
buildscript {
repositories {
jcenter
}
dependencies {
classpath com.android.tools.build:gradle:1.2.3
}
}
每个命令行输入或输出命令如下所示:
$ gradlew tasks
新的术语和重要的单词将会是黑体。例如,你在屏幕上看到的单词,例如菜单或弹窗,将会这样显示:在Android Studio 中,你可以通过在屏幕上点击Start a new Android StudioProject开始一个新的项目。
警告或重要注释将会像这样在一个框中显示。
提示和技巧会像这样显示。
用户反馈
非常欢迎读者的反馈。这可以让我们了解你对本书的看法哪些你喜欢,哪些你不喜欢。读者的反馈可以帮助我们调整内容,从而使读者能够获得更多收益。
准备发送给我们的一般的反馈,只需发送电子邮件到feedback@packtpub.com,并在邮件内容中指出书名即可。
如果你在某个方面有所专长,并且你有兴趣写书或者为一本书贡献内容,请阅读我们的作者向导:www.packtpub.comauthors。
客户支持
现在,你可以自豪地说你是一本Packt 发行的书的主人了,并且,我们还有很多东西可以帮助你充分利用它。
下载源码
你可以在http:www.packtpub.com 站点上使用你的账号下载所有你购买过的书籍的示例代码。如果你是在其他地方购买的本书,那么你可以访问http:www.packtpub.comsupport,注册后,我们会把代码发送给你。
勘误
尽管我们已经尽力确保我们内容的准确性,但错误在所难免。如果你发现我们书中的错误可能是文字错误或者代码错误如果你将它报告给我们,我们将不胜感激。这样做,不仅可以让其他读者免于受挫,还能帮助我们改进本书的后续版本。如果你发现任何错误,请访问http:www.packtpub.comsubmit-errata 进行报告,在以上链接的网站中,选择书名,然后单击Errata Submission 表单链接,填写你所发现的错误细节。一旦你发现的错误被确认,你提交的内容将会被接受,勘误信息将被上传到我们的网站或者添加到对应标题相关的勘误小节列表中。
如果想查询以前提交的勘误信息,请访问https:www.packtpub.combookscontentsupport,并在搜索区域填写书名。需要的信息将会出现在勘误列表中。
侵权
互联网上的盗版问题是所有媒体一直存在的问题。对于Packt,我们非常重视保护我们的版权。如果你从互联网上遇到任何我们产品的非法拷贝,请立即为我们提供网址或者网站名称,以便我们寻求补救。
请通过电子邮件copyright@packtpub.com 联系我们并附带盗版资料的链接。
非常感谢你帮助保护我们的作者,而我们将为你带来有价值的内容。
问题
如果你对本书有任何方面的疑问,都可以通过电子邮件questions@packtpub.com 联系我们,我们将尽最大的努力解决这个问题。
|
|