【建议收藏】Android 工程师如何系统提升核心竞争力?
▲ 点击上方第二个“JsonChao”关注公众号
现如今,Gradle + 编译插桩 的应用场景越来越多,无论是 各种性能优化中的插件工具制作,还是用来支持 插件化、热修复的各种插件,都会使用到这个组合,因此,掌握 Gradle + 编译插桩 技术能够大大提升我们的技术竞争力。
助力一份 Android Gradle 编译插桩面试宝典
Contents
Gradle
深度探索 Gradle 自动化构建技术(一、Gradle 核心配置篇) JsonChao,公众号:JsonChao深度探索 Gradle 自动化构建技术(一、Gradle 核心配置篇)
工程构建工具从古老的 mk、make、cmake、qmake, 再到成熟的 ant、maven、ivy,最后到如今互联网时代的 sbt、gradle,经历了长久的历史演化与变迁。Gradle 作为一款新生代的构建工具无疑是有它自身的巨大优势的,因此,掌握好 Gradle 构建工具的各种使用姿势与使用场景其重要性不言而喻。并且,Gradle 已经成为 高级 Android 知识体系 必不可少的一部分。因此,掌握 Gradle,提升自身 自动化构建技术的深度, 能让我们更加地 如虎添翼。
深度探索 Gradle 自动化构建技术(二、Groovy 筑基篇) JsonChao,公众号:JsonChao深度探索 Gradle 自动化构建技术(二、Groovy 筑基篇)
Groovy 作为 Gradle 这一强大构建工具的核心语言,其重要性不言而喻,但是 Groovy 本身是十分复杂的,要想全面地掌握它,我想几十篇万字长文也无法将其彻底描述。所幸的是,在 Gradle 领域中涉及的 Groovy 知识都是非常基础的,而且在后面我们自定义 Gradle 插件的时候需要使用到这些技巧,因此要掌握好 Gradle, Groovy 是需要全面了解的。
深度探索 Gradle 自动化构建技术(三、Gradle 核心解密)
JsonChao,公众号:JsonChao深度探索 Gradle 自动化构建技术(三、Gradle 核心解密)
从明面上看,Gradle 是一款强大的构建工具,而且许多文章也仅仅都把 Gradle 当做一款工具对待。但是,Gradle 不仅仅是一款强大的构建工具,它看起来更像是一个编程框架。Gradle 的组成可以细分为三个方面:groovy 核心语法、Android DSL、Gradle API,而 Gradle API 则是学好 Gradle 重中之重的一个环节,这篇文章我们将一起探索 Gradle 的核心部分。
深度探索 Gradle 自动化构建技术(四、自定义 Gradle 插件)
JsonChao,公众号:JsonChao深度探索 Gradle 自动化构建技术(四、自定义 Gradle 插件) 在 Android 技术领域中,APM、插件化、热修复等各个提升研发效率和性能的工具是当今一线公司所极力追求的热门技术点,而实现它们的背后,都离不开 Gradle 插件。因此,这篇文章我们将研究如何掌握自定义 Gradle 插件的制作技巧以及 Transform 实现的基本套路。
深度探索 Gradle 自动化构建技术(五、Gradle 插件架构实现原理剖析(上))
JsonChao,公众号:JsonChao【灵魂七问】深度探索 Gradle 自动化构建技术(五、Gradle 插件架构实现原理剖析 — 上) 深度探索 Gradle 自动化构建技术(五、Gradle 插件架构实现原理剖析(下))
JsonChao,公众号:JsonChao【灵魂七问】深度探索 Gradle 自动化构建技术(五、Gradle 插件架构实现原理剖析 — 下) 也许有许多同学已经能够制作出自己的 Gradle 插件,但是一直有一些 “梗” 遗留在我们脑海中,无时无刻不在提醒着我们,你真的掌握了吗?例如,“梗1”:Gradle 插件的整体实现架构?我:...,“梗2”:Android Gradle 插件更新历史有哪些重要优化或者改进?我:..., “梗3”:Gradle 构建的核心流程是怎样的?我:...
深度探索 Gradle 自动化构建技术(六、Gradle 插件平台化框架 ByteX 探秘之旅)
JsonChao,公众号:JsonChao深入探索 Gradle 自动化构建技术(九、Gradle 插件平台化框架 ByteX 探秘之旅)
本文将会手把手和你一起对 ByteX 插件平台的构建流程进行探秘。从 ByteX 的源码实现中,我们将会看到作者对 函数式编程、Java 1.8 Lambda 表达式、Java 1.8 Stream API、复杂泛型 等技术的灵活运用,而在学习 ByteX 源码的过程中,我们将会加深对这些基础技术的理解。
编译插桩
深入探索编译插桩技术(一、编译基础)
JsonChao,公众号:JsonChao深入探索编译插桩技术(一、编译基础)
本篇文章涉及到了 Android 编译的深度方面:App 的编译和打包流程、签名算法的原理,也涉及到了 Android 编译的广度方面:持续集成。因此,在我们学习的过程中,技术就像是一棵树,在顶部叶子上各个领域看似毫不相干,但是在一个领域越往下深入,各个领域相互交错到的知识或者设计方式就越多,所以技术深度和广度并不是对立面,对技术深度的探索不仅有利于你在特定领域有更深理解,更加可以帮助你轻松切换到另一个领域,特别是像前端的各细分领域的工作,很多领域的知识背后都殊途同归,而技术的广度也不是有的人说的那样不堪,在有技术深度的基础上,去拓展自己的技术广度,其实会让你对原有技术的理解变得更加地深入。
深入探索编译插桩技术(二、AspectJ)
JsonChao,公众号:JsonChao深入探索编译插桩技术(二、AspectJ)
编译插桩技术已经深入 Android 开发中的各个领域,而 AOP 技术正是一种高效实现插桩的模式,它的出现正好给处于黑暗中的我们带来了光明,极大地解决了传统开发过程中的一些痛点,而 AspectJ 作为一套基于 Java 语言面向切面的扩展设计规范,能够赋予我们新的能力,毫无疑问,谁先一步掌握编译插桩技术,谁的未来必定会有更多的机会与可能性。
深入探索编译插桩技术(三、解密 JVM 字节码)
JsonChao,公众号:JsonChao深入探索编译插桩技术(三、解密 JVM 字节码)
拥有扎实的 JVM 字节码基础能让我们更好地掌握 ASM 这个强大的编译插桩工具,而灵活地运用 ASM 能让我们的个人以及项目团队的生产力有质的提升,这一点,无论是在中小型公司,还是在一二线的大公司来说,都是能极大地提升自身的生产力以及个人与团队的价值。因此,掌握 JVM 字节码便是一件迫不及待的事情了。本文吸取了市面上绝大部分经典 JVM 著作与优秀博文的优势之处,将其中易于理解的部分重新编排并精心处理,相比于仅仅阅读一本 JVM 书籍来说,能让我们在更短的时间内去理解更多对我们重要的知识。
深入探索编译插桩技术(四、ASM 探秘)
JsonChao,公众号:JsonChao深入探索编译插桩技术(四、ASM 探秘)
前面我们深入学习了 AspectJ 的使用,但是由于其 基于规则,切入点相对固定 等弊端,所以对于字节码文件的操作自由度以及开发的掌控度就大打折扣。并且,他会额外生成一些包装代码,对性能以及包大小有一定影响。而 ASM 则完美地解决了其 99 % 的缺陷,因此,本篇文章我们将逐步深入探秘 ASM,让我们真正拥有 灵活操作字节码的基础能力,以此从质的层面提升我们个人以及项目团队的生产力,打造自身更多的技术亮点,让面试官对我们刮目相看。
END
往期推荐
欢迎关注我的微信:bcce5360,群人数已超200,无法扫码入群,加我微信拉你进群。
点击下方卡片关注JsonChao,为你构建一套
未来Android开发必备的知识体系
▲ 点击上方卡片关注 JsonChao,构建一套
未来 Android 开发必备的知识体系
欢迎把文章分享到朋友圈
很感谢您阅读这篇文章,希望您能将它分享给您的朋友或技术群,这对我意义重大。
你若喜欢,为JsonChao点个在看哦