推荐序一
胡强是我的好友,我们相识于5年前的一次业务合作,短暂的接触后我就深深地感受到了胡强的不简单:深厚的技术功底、极致的业务思维和谦逊的工作态度。当时我就认定这个小伙子一定会有所成就、大放异彩。
胡强当前所在的业务领域是App发行,随着硬核手机厂商的日益崛起,以及各大超级App的流量垄断,第三方应用商店可谓勉强在夹缝中求生存。在巨大的竞争压力下,胡强带领的Android研发团队没有轻言放弃,反倒韧性十足,积极探索,通过对各种渠道技术的创新为业务赋能,成功走出了一条技术驱动业务增长的实践之路,其中有不少核心技术也被阿里集团内多个业务单元广为采用并深受好评。
听闻胡强想要把他这几年在Android领域的技术沉淀和业务实践经验整理成书时,我内心的敬佩和欣喜之情油然而生,敬佩于胡强的分享精神,欣喜于好友的心愿得偿。同时,我也为广大Android研发人员感到开心。Android发展至今已非常成熟,相关书籍可谓琳琅满目,但讲解技术创新和应用实践的好书却凤毛麟角,这本书就是这样的一本好书,它将注定如胡强一般与众不同。本书内容围绕技术进阶和业务实践展开,涵盖了移动数据技术、基础工具的建设、移动混合前端、效能开发、安全攻防和移动AI的落地等多个实用的进阶主题,干货满满,是作者厚积薄发的心血之作。这本书不是Android入门书籍,需要读者具备一定的Android开发基础和工程经验,否则读起来会比较吃力,且难以体会本书的妙处所在。但对于想成长为高级或资深Android工程师的朋友来说,书中的知识都是非常有用、值得深究的。
最后,希望各位读者能够从此书获益,接触到一些工作中未曾了解或思考过的知识点,为各位的技术进阶带来助益和启发。更进一步,希望读者能够举一反三,学习作者的钻研精神和创新思维,并在工作中积极实践。
阿里游戏大数据部门前技术负责人,高级技术专家(P8)
飞美网络CTO
贺永明
推荐序二
与强哥在阿里巴巴共事多年,他是一个让我敬佩的朋友。在技术上,他不仅进步神速,精于钻研,对Android底层实现及背后理念理解得很透彻,而且善于思考,能从大量的实战经验中总结、提炼出最本质、最核心的知识和技能。另外,他作为团队的负责人,在阿里巴巴的工作相当繁重,但还能利用有限的业余时间使本书成型,其背后的付出令人钦佩。
本书内容全面,偏实战经验和进阶技能,其中不仅包含了Android开发工程构建体系的知识、数据驱动理念和效能进阶,还包含了工具类应用的基础技术和设施打造等内容。更进一步地,本书还对移动端开发目前特别火热的技术方向进行了探索,比如,书中对容器技术、大前端技术、AI技术等都有深入阐述。此外,在安全攻防技术和设计模式方面,作者也积累了非常丰富的经验,这些内容也在本书中有所呈现。
本书凝聚了作者大量实战经验的结晶,书中不仅有非常多深入且接地气的技术内容,而且有作者多年在“大厂”带团队摸爬滚打、千锤百炼出来的对于移动端技术走向的深入思考和展望。无论对初入职场的新人,还是对有较多行业经验但遇到发展瓶颈及困惑,期望进一步突破的开发者来说,本书都值得一读。通过本书读者不仅可以学习一些新的知识和技能,更重要的是还能领悟到作者对技术的极致追求精神和思维方式。
阿里巴巴资深无线技术专家(P9)
阿里巴巴自研内核负责人
李英各
前言
2008年,Google在I/O大会上发布了Android 1.0版本,到现在已经过去了十多个年头,当前市面上Android的主流版本是Android P(9.0),而Android Q(10.0)很快也将全面铺开。目前,无论在国际市场还是国内市场上,Android都是移动端操作系统的绝对霸主。据统计,目前Android手机的市场份额已经超过了手机整体市场份额的90%。Android能够迅猛发展,除了得益于其成熟的生态,更是因为其具有能够吸引用户的优良性能表现。Android的发展也大大带动了国内移动互联网行业的发展,每天都有新的App产生,国内的IT行业发展也走在了时代前列。
当前市面上讲解Android技术的书籍特别多,从基本的语法应用到深层的内核原理都有,其中不乏经典图书,但介绍Android进阶技术(尤其是结合应用实践)的图书并不是很多。而本书重点讲解了Android平台下的各项进阶技术及其应用实践,希望本书能让具备一定基础的读者更深入地了解Android的进阶技术,同时通过实际案例进行理解。在移动场景下,未来的技术必然是朝精细化、无界化和智能化方向发展的,因此我决定以Android为引,将自己多年的无线端从业技术经验进行总结,编写为本书。
内容导读
本书主要以移动数据技术、工具效能技术、混合前端技术、AI技术、移动安全攻防技术和设计模式为主来讲解Android平台下的高效移动技术进阶。
第1章 Android数据技术:任何App的开发一定是数据先行,数据指导工作的,本章主要从数据采集、数据绑定、数据存储和前端埋点等方面来讲解Android平台下的数据技术。
第2章 Android下的工具基建进阶:主要从下载技术、沉浸式交互、图片加载框架、进程、文件系统扫描和前置通道等方面详解Android下的工具基建进阶技术。这些工具技术虽然看似普通,但真正用好它们却需要对Android有很深入的了解。
第3章 Android下的效能进阶:主要从App的自动化性能监测、真机检测系统和APK信息一站式修改等方面来讲解Android平台下的效能进阶。在App发展到一定阶段后,必然需要进行效能进阶,本章详细说明了我们常见的性能监测、真机检测技术以及App修改。
第4章 Android工具应用进阶:主要从Android工具应用层面,以游戏加速器、近场传输、微信清理和Google安装器为例来说明与工具应用进阶相关的技术。要开发这些应用,开发者不仅需要有过硬的Android技术,还需要有对相关业务的深入理解。
第5章 Android工程构建进阶:主要从工程构建方面来讲解与Android工程相关的构建技术,如我们常见的多渠道自动打包和自动定制化构建等。
第6章 移动场景下的容器技术:主要从几种不同的业界方案(如MoveToDex、MultiDex等)来讲解Android平台容器化技术的发展,以及Android原生容器化技术的发展。
第7章 移动混合前端技术:主要讲解大前端技术,分别从H5、React Native/Weex和Flutter等方面来展开讲解。大前端技术发展至今,国内、国外都有不同的解决方案,但本质上都是围绕效率和体验发展的。
第8章 移动场景下的AI技术:主要讲解移动场景下的AI技术发展,对业界常用的移动AI框架(如Caffe2和TensorFlow Lite)进行了比较说明,同时还对其具体应用实践进行了讲解。
第9章 移动场景下的安全攻防技术:主要讲解移动场景下的安全攻防技术,分别从静态分析和动态分析两个角度来讲解如何进行安全攻防。
第10章 Android平台下的设计模式进阶:主要从SOLID设计原则、并行程序设计模式,以及设计模式在Android源码中的应用等方面来讲解设计模式在移动场景下的进阶与应用实践。
要想对书中所述的内容有深刻的认识,读者需要具备一定的Android技术基础和应用层业务经验。本书主要针对Android进阶技术与应用实践,不会对相关技术原理做过多的解读,因此若读者还不具备这些知识的话,建议先打好基础后再阅读本书。
目标读者
移动应用开发者、Android系统开发人员、Android系统安全工程师,以及Android领域的移动技术负责人。
本书约定
为了使书中讲述的内容更容易理解,本书做了如下约定。
√ 本书在讲解部分内容时,可能会对Android系统源码加以引用。
√ 本书不提供Android系统源码的下载方法,并假定读者已经自行下载了。
√ 本书在引用Android系统源码时,为了避免占用过多篇幅,在不影响理解的情况下,对部分源码进行了删减。
致谢
首先,要感谢本书的编辑付睿女士。在我编写本书时,付睿女士提供了很多意见和建议,并多次耐心指导我写作技巧,她还对书稿质量进行了严格把关。
然后,感谢我的妈妈黄继兰女士,感谢我的老婆旷凌云女士,以及我的两个宝贝(Mary和钧宝),他们给了我很多鼓励,因为有他们,我才能克服困难,坚持下来。
第一次写作,其间遇到了很多困难,工作本来已经很辛苦,工作外基本没多少时间用来写作,在这个过程中,感谢支持与关心我的各位朋友,他们给了我很多启发,谢谢他们!
另外,感谢那些Android大牛,因为他们的前期分享与奉献,我才能站在巨人的肩膀上分享和总结我的经验。
最后,感谢那些关注本书,为本书提过意见的朋友们,他们的支持是我写作本书最大的动力。
此外,虽然我对书中所述内容进行了多次校对,但因时间有限和水平所限,书中难免存在疏漏和错误,敬请广大读者批评指正,可以发邮件到alhuu555@hotmail.com联系我。
胡强(得塔)
2019年6月12日