Android开发技术周报 Issue#108

十二月 05, 2016 0 条评论 AndroidDevWeekly

新闻

  1. 驾驶不分心:Google为Android Auto启用语音触发指令

  2. 谷歌计划下个月6日向Nexus设备推送Android 7.1.1

  3. Android 7.1现BUG:无法查看iPhone 7发来的截图

教程

  1. 如何测试RxJava代码

    假设你已经阅读过RxJava的相关内容,也已经体验过像“RxJava入门之实例解析”中的那些示例,现在打算在自己的代码中探索一下响应式编程了。但是,现在却一直困扰着如何测试那些可能会在代码库中发现的新功能呢?下面我们将探索一下如何测试RxJava代码。

  2. ART下的方法内联策略及其对Android热修复方案的影响分析

    为了解决ART模式下的占用Rom空间问题,Tinker曾经花了一个半月时间实现分平台合成。Android N后对内联的新发现,似乎再一次认证了"热补丁不是请客吃饭"这句话。研究或填坑的路可能永远不会停,但Tinker团队有决心与信心可以陪大家一起走下去。ART(Android Runtime)是Android在4.4版本中引入的新虚拟机环境,在5.0版本正式取代了Dalvik VM。ART环境下,App安装时其包含的Dex文件将被dex2oat预编译成目标平台的机器码,从而提高了App的运行效率。

  3. 分享一个对所有Activity做单元测试的思路

    最近升级了一下我们的Support库,这影响比较大,应该好好测试。这种情况下单元测试能帮助什么呢?我觉得有一定操作空间,于是想做一个“启所有Activity看看会不会崩溃”的功能。手动解析配合MonekyRunner,aapt有一个命令是解析一个apk的AndroidManifest,一开始我就从这上面下手: aapt dump xmltree ${apkpath} AndroidManifest.xml

  4. 使用Buck构建Android工程

    不论是“QQ音乐”亦或是“全民K歌”,其Android客户端目前都是功能繁多、体量庞大、方法数超过10万的庞大应用。庞大体量的工程带来了构建工程的一个突出问题:构建耗时过长。耗时问题既影响了本地开发又影响了服务器上的持续集成,而且,随着产品功能不断迭代,应用体量势必还要进一步攀升,导致了工程全量构建耗时越来越长。为了减少构建耗时,提高开发效率,我们也在不断学习、尝试一些加速构建的策略,除了使用常见的Gradle守护进程、增量构建等Gradle已有的加速方式,市面上常见的加速构建工具也有所涉猎,例如LayoutCast, FreeLine, Instant Run以及Buck等等。

  5. 了解Android Studio 2.2中的APK打包

    在 Android 7.0 Nougat 中引入了全新的 APK Signature Scheme v2 后,我们决定重新设计汇编 APK 在 Android Gradle 插件中的工作方式。您可以在文档中阅读有关 v2 签名的所有底层技术信息,下面只是简要介绍您作为 Android 应用开发者所需了解的信息:1.用于验证 APK 完整性的 APK 加密签名现在直接位于 ZIP Central Directory 前面。2.在 v1 中,签名通过整个 APK 文件的二进制内容进行计算并验证,而不是通过归档中每个文件的已解压文件内容。 可同时通过 v1 和 v2 签名对 APK 进行签署,以使其仍能向后兼容以前的 Android 版本。

开源库 & App

  1. smart-scheduler-android

    A utility library for scheduling periodic and non-periodic jobs efficiently.

  2. AndroidPageFlip

    3D Style Page Flip on Android

  3. coordinators

    Simple MVWhatever for Android

  4. TContributionsView

    TContributionsView can be use for a Contributions View, like in one personal homepage of Github, and more than that.

  5. SilkySignature

    A smooth and silky signature pad for android.

  6. screenrecordlibrary

    该library可以很方便的在android5.0以上的系统上实现屏幕录像功能

  7. ScrollablePanel

    A flexible view for providing a limited rect window into a large data set,just like a two-dimensional RecyclerView.

  8. ScrollParallaxImageView

    Provides parallax effects when ImageView scrolls in the screen.

  9. PinchZoomTextView

    A TextView library that allows the user to increase/decrease font size with a two finger gesture by the user.

工具

  1. 火线

    静态代码检测工具

  2. Kobiton

    A new testing platform that empowers mobile developers to build great products faster.

  3. UserFlows

    A plugin for generating flow diagrams from Artboards in Sketch.

活动

  1. Google Developer Day China 2016

    今年,Google 开发者大会将于12月8日和12月14日分别在北京和上海举办。帝都的小伙伴们到时候面基哦😄,不能去现场的可以看直播,直播地址:http://www.google.cn/events/developerday2016/livestream/

设计

  1. 全新的Uber App设计

    声势浩大的改版设计总使人望而生畏。有太多变化与未知,有可能会失败。但我们知道,如果想要打造未来,我们就得欣然接受挑战。这就意味着不仅仅是在外观上下赌注,也是在重新想象整个流程。Uber原本的主旨很简单,“按下按钮,搭上一辆车。”你不必设定目的地,也不必选择产品,只要按一下按钮,或者两下,之后就不用管了

  2. Mobile Design Best Practices

    一些移动设计的最佳实践

  3. 为什么要用SVG?- svg与iconfont、图片多维度对比

    SVG是一种可缩放矢量图形(英语:Scalable Vector Graphics,SVG)是基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。SVG由W3C制定,是一个开放标准。简单的理解它是图形的另一种格式例如它和常见的图片格式.png、.jpg、.gif等是一类。

捐赠

如果你觉得Android开发技术周报对您有所帮助,请考虑对本周报捐赠支持。支持我把Android开发技术周报做的更好,帮助更多的人,金额随意,您的捐赠将用于支付服务器和邮件推送服务的费用。捐赠列表

支付宝

版权声明

欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0

脉脉不得语
ZhengZhou Website
{Developer=菜鸟Android程序猿; Blog=http://inferjay.com; Github=http://github.com/inferjay}