Android 开发周报:自定义 View 绘制进阶、高级混淆技术详解

  • 郭亮

2017 年 7 月 30 日

话题:Android语言 & 开发架构

新闻

  1. Google 介绍 Peer Grouping 技术细节:如何筛选恶意 Android 应用:Android 系统的开放固然赢得了众多开发者和用户的青睐,但同时安全也成为摆在 Google 面前的重大挑战。近年来,Google 不断借助机器学习和人工智能技术来甄别危险应用,从而在用户安装之前扼杀和打击恶意程序和漏洞。近日 Google 在博文中公布了其中 Peer Grouping 技术的细节,它能确保 Play Store 更富可玩性。

  2. 小米官方宣布 MIUI 9 7 月 26 日发布:在宣布吴亦凡正式代言小米新机 5X 之后,小米官方还正式宣布 MIUI 9 将在 7 月 26 日正式发布,如无意外小米这款 5X 新机将会首先用上 MIUI 9 系统。

  3. 外媒评选的各项最佳 Android Wear 智能手表:随着越来越多的 Android Wear 智能手表进入市场,要想从中选出一款最佳手表可不是一件容易的事。不过,我们可以来看看外媒 Wareable 评选出的各项最佳产品。

教程

  1. Android 高级混淆和代码保护技术:这是一篇关于 Android 代码保护的文章,旨在介绍代码混淆、防止逆向工程的各种高级技巧。本文有两部分内容,一部分讲混淆,一部分介绍一些混淆之下的安全手段。
  2. 如何基于 Android Things 构建一个智能家居系统?:Android Things 是 Google 在 2016 年底推出的基于物联网的操作系统,广泛运用于物联网设备。本文作者从其技术原理开始,详解了 Android Things 本身及与之相关的技术之后,总结了如何搭建一个物联网系统的技术路线。
  3. 深入 Android 源码系列(二) HOOK 技术大作战:这是一篇介绍 HOOK 技术的文章,本文讲解的内容有:HOOK 技术原理探究、HOOK 本进程方法、HOOK 跨进程的系统调用方法、so 注入、GOT 完成 so 方法 HOOK、ELF 文件头信息。
  4. Kotlin 在 Android 开发中的 16 个建议:本文翻译自国外的技术文章,这里是原文。自从 Google 宣布 Kotlin 为一级开发语言后,Kotlin 成为了今年最火的语言之一,本文作者结合自己的项目经验,给出了 16 条使用 Kotlin 的建议。

  5. weex 踩坑攻略 - 出自大量实践与沉淀:weex 是阿里开源的一套构建高性能移动界面的原生跨平台技术框架,它的上层由 Vue,Rax(非常类似 React 的开发框架)实现数据驱动,底层由 iOS,Android 实现 render engine 来驱动界面的最终落地。类比 React Native 它的优势在于难得的一次编写,多端运行,是的,它也很好的支持着移动 Web 端。

  6. 谈谈 App 的统一跳转和 ARouter:App 中每次页面跳转,都需要调用统一导航,它用的非常频繁, 有必要对它进行一下梳理。让他能用起来简单方便,同时能支持各种常用的跳转业务场景. 文章也详细介绍了 ARouter(阿里开源) 的使用方法及技术原理。

  7. 谈谈网络库和 Retrofit:网络库是每个项目必备的模块,Retrofit 是一款公认的优秀开源项目,本文从五个方面介绍了 Retrofit,分别是:网络模块需要具备什么能力、为什么 Retrofit 是个好选择、Retrofit 业务分析、Retrofit 技术点、Retrofit 使用到的设计模式。

  8. Android 开发进阶: 自定义 View 绘制基础:HenCoder 是面向 Android 高级开发者的进阶手册,第一季讲解 UI 方面的知识点。UI 一共分为三部分:绘制、布局和触摸反馈。目前总共出了两期。绘制大概会用 5~6 期的时间讲完,整个 UI 的绘制、布局和触摸反馈三部分大概会用十多期。作者以文字 + 视频的形式讲解,思路清晰、干货满满。

  9. Android 中的多进程,你值得了解的一些知识:大家知道,一个应用中通常包含多个线程,用于处理耗时任务,防止 ANR 之类的错误。但是一个应用其实也能包含多个进程,只是一般用不到而已。由于 Android 系统特有的机制,会为每个 App 单独分配一个进程,同时赋予一定大小的内存供其使用。这样,进程之间,或者说 App 之间都是独立运行的,彼此不会互相影响。本文结合案例,详解介绍了关于 Android 多进程的知识。

开源项目

  1. EasyBehavior:一个可以上拉下滑的 UI 效果 (目前已知支持 4.0+)。

  2. SlidingUpPanelLayout:一个强大而灵活的 SlidingPanelLayout,可以在竖直方向上操控多个 panel,实现炫酷的交互效果。

  3. Fish:灵动的红鲤鱼动画实现,作者的思路特别的赞,这里是关于该动画的实现解析,强烈推荐阅读。

  4. FabulousFilter:这是一个效果很赞的 Bottom Sheet Dialog,动画效果很流畅。

  5. SuperCalendar:Android 自定义日历控件,支持左右无限滑动、周月切换、标记日期显示、 自定义显示效果跳转到指定日期。


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

Android语言 & 开发架构