描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121306198
§ 理解Gradle为Android应用程序生成的构建文件
§ 在命令行或者Android Studio中运行命令行文件
§ 给Android应用程序添加更多的Java库
§ 导入或导出Eclipse ADT项目
§ 在Google Play store为发布的APK数字签名
§ 使用product flavors为同一个应用构建不同的版本
§ 为Gralde构建过程添加自定义任务
§ 测试应用中的Android组件或非Android组件
§ 提升Gradle构建的性能
前言 …………………………………………………………………………………ix
第 1 章 Android 开发 Gradle 基础 …………………………………………..1
1.1 Android 中的 Gradle 构建文件 ………………………………………………………………1
1.2 配置 SDK 版本以及其他的默认值 …………………………………………………………6
1.3 在命令行执行 Gradle 构建 ……………………………………………………………………9
1.4 在 Android Studio 中执行 Gradle 构建 ………………………………………………….15
1.5 添加 Java 库的依赖 ……………………………………………………………………………17
1.6 使用 Android Studio 添加库的依赖 ………………………………………………………22
1.7 配置仓库 ………………………………………………………………………………………….25
第 2 章 从项目导入到发布 …………………………………………………..29
2.1 设置项目属性 ……………………………………………………………………………………29
2.2 从 Eclipse ADT 中迁移应用程序到 Android Studio ………………………………..32
2.3 使用 Gradle 从 Eclipse ADT 中迁移应用程序 ………………………………………..37
2.4 升级到新版本 Gradle …………………………………………………………………………39
2.5 在项目之间分享设置 …………………………………………………………………………42
2.6 为发布 APK 签名 ………………………………………………………………………………44
2.7 使用 Android Studio 为发布版本 APK 签名 ……………………………………………48
vi | 目录
第 3 章 构建类型和定制 ……………………………………………………..51
3.1 处理构建类型 ……………………………………………………………………………………51
3.2 产品定制和变种 ………………………………………………………………………………..54
3.3 合并资源 ………………………………………………………………………………………….58
3.4 定制维度 ………………………………………………………………………………………….65
3.5 合并不同定制间的 Java 源代码 …………………………………………………………..69
第 4 章 自定义任务 ……………………………………………………………75
4.1 编写自定义任务 ………………………………………………………………………………..75
4.2 添加自定义任务到构建过程 ……………………………………………………………….78
4.3 排除任务 ………………………………………………………………………………………….81
4.4 自定义代码集 ……………………………………………………………………………………83
4.5 使用 Android 库 ………………………………………………………………………………..86
第 5 章 测试 …………………………………………………………………….95
5.1 单元测试 ………………………………………………………………………………………….95
5.2 使用 Android 测试支持库测试 …………………………………………………………..101
5.3 Robotium 用于功能测试 …………………………………………………………………..106
5.4 使用 Espresso 进行 Activity 测试 ……………………………………………………….110
第 6 章 性能和文档 ………………………………………………………….117
6.1 性能推荐 ………………………………………………………………………………………..117
6.2 DSL 文档………………………………………………………………………………………..123
附录 A 刚好够用的 Groovy 知识 …………………………………………127
附录 B Gradle 基础 …………………………………………………………137
索引 ………………………………………………………………………………145
序
本书正是我们所需要的。当 Google 更换 IDE 的时候,Head First Android Development正好写到一半。那时候,几乎所有人都在使用安装了 Android 开发工具集的 Eclipse。但是现在,Google 迫使开发者切换到基于 Idea 的 Android Studio。
我们已经习惯了类似这样的事——大多数的技术作者。一些制造商从使用新奇的事物切换到甚至更新奇的事物,类似这样的事情几乎随时都在发生。你重写所有的示例代码,更新所有的图片,删掉现在无关的功能,引入新技术中有用的功能。但是从 Eclipse切换到 Android Studio 非常特殊,因为新的 IDE 拥有一个更强大的引擎。
Android Studio 使用 Gradle 做构建、打包和部署。除了知道这些名词以外,我们没有人有直接使用 Gradle 的经历。其很像 Maven,但是没有用冗长的 XML 作为配置文件,而是采用更健全和简洁的脚本语言 :Groovy。
我们替换掉了所有的截图,并更新我们已经写好的大约 7 个章节的文字,然后才继续写剩下的部分。但是不久我们很清楚地感觉到使用 Gradle 创建应用程序是如此精妙,但是又是如此不同。几乎所有你能够在 IDE 中做的事情现在都可以在命令行做了,意味着我们可以自动化我们的构建过程了。只需要几个关键的步骤就能尝试不同的类库版本,或者不同风格的构建。并且因为所有的东西都是代码,我们可以像写应用程序的其他部分一样来写构建了。
现在学习 Gralde 对于每一个 Android 开发者来说是一个非常重要的任务。跟学习 Java,或者理解一个 Activity 的声明周期一样。但是通过尝试错误来学习 Gradle 是一个非常痛苦的过程,这时本书就派上用场了。在本书中,你会看到大量实用的技巧来避免常见的构建问题。无论你是在搭建一个测试系统,自动发布 APK 到产品环境,还是尝试加速你的构建流程或管道,这本书刚好适合你。Ken 的生动的写作风格,以及很多实际的例子,会让你忍不住回来查阅本书。以前 Ken 是一个 Groovy 专家,任何 Groovy 的问题都可以找他咨询,现在他也是一名 Gradle 专家了。
——Dawn和David Griffiths, Head Frist Android Development作者于 2016 年 4 月 20 日
前言
关于本书
本书包含 Gradle 作为 Android 项目的构建系统时相关的实用技巧。Gradle 是 Java 世界中著名的构建工具之一,并正在逐渐扩展到其他语言,如 C 。Google 的 Android 团队在2013年春天正式将Gradle作为的构建系统,之后其使用人群也在逐渐稳固增长。
因为 Gradle 来自 Groovy 生态系统,很多 Android 开发者可能不熟悉。然而对于 Java 开发人员来说学习 Groovy 是非常容易的。本书的目的是通过示例帮你使用 Gradle 完成Android 应用程序中常见的一些构建任务。
所有的示例使用的 Android SDK 的版本都是 23,模拟器使用的是 Marsh-mallow (Android 6) 或 Lollipop (Android 5.*)。使用 Android Studio 2.0 或者 2.1(beta)作为主要的 IDE,其中集成了 Gradle 2.10 或者更高版本作为构建工具。
预备知识
Android 的 Gradle 插件至少需要一些 Java、Groovy、Gradle 和 Android 的知识。学习这些中的每一个主题,都能找到一整本书,所以本书中不会详细讲解每一个主题。
本书主要针对那些熟悉 Android 开发的人。本书没有提供很多 Android 背景,但是所有示例代码都能够在本书的 Github Repo 中找到。理解 Android 意味着理解 Java,所以本书假设读者也熟悉 Java。
然而本书假设读者对 Groovy 和 Gradle 的了解有限。附录 A 包含对 Groovy 语法和技巧的快速总结。在介绍具体事例的时候也会复习一些遇到的 Groovy 概念。附录 B 有一些基本的 Gradle 信息,但是本书本身就会详细地讨论 Gradle。除了这些局限以外,本书尽可能地被设计得很独立,在合适的地方提供了外部参考(特别是文档)的链接。
本书广泛应用了 Android Studio, 因为它是目前 Android 开发时官方支持的 IDE。Android Studio 提供了关于 Gradle 的视图和工具,我们在描述很多技巧的时候会展示。虽然本书并不是一本 Android Studio 的教程,但是其相关功能还是在可能的时候被提及到,而且如果因此而帮助读者学习了 IDE, 那就更好了。
O’Reilly Media, Inc.介绍
O’Reilly Media 通过图书、杂志、在线服务、调查研究和会议等方式传播创新知识。自1978 年开始,O’Reilly 一直都是前沿发展的见证者和推动者。超级极客们正在开创着未来,而我们关注真正重要的技术趋势——通过放大那些“细微的信号”来刺激社会对新科技的应用。作为技术社区中活跃的参与者,O’Reilly 的发展充满了对创新的倡导、创造和发扬光大。O’Reilly 为软件开发人员带来革命性的“动物书”;创建个商业网站(GNN);组织了影响深远的开放源代码峰会,以至于开源软件运动以此命名;创立了Make 杂志,从而成为DIY 革命的主要先锋;公司一如既往地通过多种形式缔结信息与人的纽带。O’Reilly 的会议和峰会集聚了众多超级极客和高瞻远瞩的商业领袖,共同描绘出开创新产业的革命性思想。作为技术人士获取信息的选择,O’Reilly 现在还将先锋专家的知识传递给普通的计算机用户。无论是通过书籍出版、在线服务或者面授课程,每一项O’Reilly的产品都反映了公司不可动摇的理念——信息是激发创新的力量。
业界评论
“O’Reilly Radar 博客有口皆碑。”
——Wired
“O’Reilly 凭借一系列(真希望当初我也想到了)非凡想法建立了数百万美元的业务。”
——Business 2.0
“O’Reilly Conference 是聚集关键思想领袖的典范。”
——CRN
“一本O’Reilly 的书就代表一个有用、有前途、需要学习的主题。”
——Irish Times
“Tim 是位特立独行的商人,他不光放眼于长远、广阔的视野并且切实地按照Yogi Berra 的建议去做了:‘如果你在路上遇到岔路口,走小路(岔路)。’回顾过去Tim 似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。”
——Linux Journal
序
本书正是我们所需要的。当Google 更换IDE 的时候,Head First Android Development正好写到一半。那时候,几乎所有人都在使用安装了Android 开发工具集的Eclipse。但是现在,Google 迫使开发者切换到基于Idea 的Android Studio。
我们已经习惯了类似这样的事——大多数的技术作者。一些制造商从使用新奇的事物切换到甚至更新奇的事物,类似这样的事情几乎随时都在发生。你重写所有的示例代码,更新所有的图片,删掉现在无关的功能,引入新技术中有用的功能。但是从Eclipse切换到Android Studio 非常特殊,因为新的IDE 拥有一个更强大的引擎。
Android Studio 使用Gradle 做构建、打包和部署。除了知道这些名词以外,我们没有人有直接使用Gradle 的经历。其很像Maven,但是没有用冗长的XML 作为配置文件,而是采用更健全和简洁的脚本语言:Groovy。
我们替换掉了所有的截图,并更新我们已经写好的大约7 个章节的文字,然后才继续写剩下的部分。但是不久我们很清楚地感觉到使用Gradle 创建应用程序是如此精妙,但是又是如此不同。几乎所有你能够在IDE 中做的事情现在都可以在命令行做了,意味着我们可以自动化我们的构建过程了。只需要几个关键的步骤就能尝试不同的类库版本,或者不同风格的构建。并且因为所有的东西都是代码,我们可以像写应用程序的其他部分一样来写构建了。
现在学习Gralde 对于每一个Android 开发者来说是一个非常重要的任务。跟学习Java,或者理解一个Activity 的声明周期一样。但是通过尝试错误来学习Gradle 是一个非常痛苦的过程,这时本书就派上用场了。在本书中,你会看到大量实用的技巧来避免常见的构建问题。无论你是在搭建一个测试系统,自动发布APK 到产品环境,还是尝试加速你的构建流程或管道,这本书刚好适合你。Ken 的生动的写作风格,以及很多实际的例子,会让你忍不住回来查阅本书。以前Ken 是一个Groovy 专家,任何Groovy 的问题都可以找他咨询,现在他也是一名Gradle 专家了。
——Dawn and David Griffiths,
Head Frist Android Development
于 2016 年4 月20 日
评论
还没有评论。