标签: Android

Android Gradle 构建系统·初探

8月7号,应北京 GDG 邀请,我做了一个题为《Android Gradle 构建系统·初探》的分享。 主要内容是构建系统背景知识,源码库,代码亮点,写插件。 很明显这是一个很大的话题,有超过 2.5GB 的核心代码和超过50个子项目。 第一步,我进行了宏观的介绍。下一步,我会继续深入子项目,尝试发现更多有意思的点。 对这个话题感兴趣的,请加入技术交流 qq 群:583688711。 Slides

Android Gradle 技巧之二: 最爱命令行

如果你习惯了命令行,你会爱上它的,因为它简单、直接,深入。 命令行 很多做 Android 开发不久的同学,习惯于使用图形界面,对命令行操作很陌生甚至恐惧。遇到 AS 运行错误,束手无策。 AS 为了确保易用性,也在 UI 界面上屏蔽了很多命令行运行的细节,导致很多人觉得 AS 难用。 这种情况,我在解决用户集成使用 Bugtags SDK 的问题的时候,经常能遇到。其实 GUI 界面的操作,绝大

Android Gradle 技巧之一: Build Variant 相关

Build Variant android gradle 插件,允许对最终的包以多个维度进行组合。 1BuildVariant = ProductFlavor x BuildType 两个维度 最常见的就是这样: 1234567891011121314151617productFlavors { pro { } fre { }}lintOptions { abortO

拥抱 Android Studio 之五:Gradle 插件开发

官方文档给出了比较详细的实现步骤,本文的脉络会跟官方文档差不了太多,额外增补实际例子和一些实践经验。文中的代码已经托管到了 github 项目中。 需求 默认的 Android 打包插件会把 apk 命名成 module-productFlavor-buildType.apk,例如 app-official-debug.apk,并且会把包文件发布到固定的位置: module/build/outpu

拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

使用、创造和分享 笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题。结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因。 有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错。不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子;其次,Java 的包存放较为集中,集成方式也方便。 笔者从事 Android

拥抱 Android Studio 之三:溯源,Groovy 与 Gradle 基础

关于学习方式续 回忆起大学那个白衣飘飘的年代,开始金工实习却发现基础学的不牢靠,越来越胆小,越来越糊涂。所幸得到一位高年级学姐指导,赶紧找当时的书或者笔记,快速把基础知识温习一遍,再结合实践中思考,终于豁然开朗。 相信看过前一篇 《Android Studio 与 Gradle 深入》的同学,有一部分就会遇到我初识 Gradle 时的困惑:代码我也依稀看得懂,但就是不知道还能这样写,为什么这样写。

拥抱 Android Studio 之二:Android Studio 与 Gradle 深入

关于学习方式 曾经跟朋友讨论过我们所接受过的大学工科教育,都是一上来先学基础理论,最后再来一个金工实习。一开始不知道为什么而学,学不进去,荒废了基础,等到金工实习的时候,又发现基础不牢,后悔不已。 考虑到传统教育方式的不足之处,笔者在组织本系列文章的时候是先讲入门实例,进而学习 Gradle 和 Groovy 基础原理,最后学习进阶实例。 上篇文章介绍了从 ADT 迁移到 Android Stud

拥抱 Android Studio 之一:从 ADT 到 Android Studio

拥抱变化,拥抱新事物 多年前央视有一套电视系列片:大国崛起,主要讲述那些曾经在站在世界舞台中央的国家的兴衰历程。纵观历史,正是创新使得一个国家得以崛起。 Android 开发因为涉及到代码编辑、UI 布局、打包等工序,最好使用一款 IDE。Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后于2013年 Google I/O 大会发布基于 IntelliJ IDEA 开发 A