新闻

1.Android 7.1 CM 14.1正式发布

一般过个两三年,即便再高端的设备也会被厂商抛弃,不再更新系统,但幸好我们还有各种第三方ROM,尤其是大名鼎鼎的CyanogenMod,虽然历经坎坷但依然总能第一时间给老设备带来最新鲜的体验。

2.Google将于2017年结束对Android 2.3/3.0的支持

与老友告别是有些伤感,但考虑到Android 2.3(Gingerbread / 姜饼)和Android 3.0(Honeycomb / 蜂巢)已经是Google Play服务所支持的最古老的两个Android版本(接近5-6年)
国外博客

1.Mastering the Terminal side of Android development

As a terminal aficionado I’ve been wanting to write about this topic for awhile. Besides being cool, knowing how to use the terminal simply makes things faster.

2.Android: draw a custom view

Every day we use lot’s of applications and despite of their different appointment, most of them are very similar to each other in design.

3.What’s New in Android Nougat from a Developer’s Point of View

Google served Nougat on the table early September this year. Nexus 5X and 6P were the first devices to get the Nougat update. Slowly other devices from popular brands started catching up.

4.Continuous Integration and Code Coverage in Android using Travis CI

Testing has always been a trending topic in the world of Android. It becomes a time consuming task in large android projects where multiple developers are working together

5. Making the most of the APK analyzer

One of GDE Wojtek Kaliciński's favorite recent additions to Android Studio is the APK Analyzer, which you can find in the top menu under Build → Analyze APK.
国内博客

1.浅析Java对象的内存布局

最近几天在看Java关键字synchronized的内存语义,涉及到了偏向锁和轻量级锁,理解并不透彻,其中轻量级锁和偏向锁是通过对象头中的锁标志位进行标识。 这就引出另外一个之前理解不透彻的问题,一个对象到底占多少空间?对象的内存布局是怎样的?在查阅了相关资料和进行了相关实验,有了这篇备忘的记录。

2.Android MultiDex实现原理解析

调用MultiDex的方式有多种,不论是直接使用官方提供的MultiDexApplication,还是继承MultiDexApplication,或者是重写自定义Application的attachBaseContext方法,最后都会调用到MultiDex.install(this).

3.带你开发一款给Apk中自动注入代码工具icodetools(开凿篇)

从这篇开始咋们开始一个全新的静态方式逆向工具icodetools的实现过程,这个也是我自己第一次写的个人觉得比较有用的小工具,特别是在静态方式逆向apk找关键点的时候,后续会分为三篇来详细介绍这个工具实现.

4.Android so调试-你需要的从零开始

最新公司项目需要开发一个人脸融合的demo,C++部分已经由另外团队开发完成,需要跟Android进行对接。但是在so库编译完成之后,发现闪退,logcat看不到任何信息,只能学习一下如何对so库进行调试,还是有点门槛的,再此根据实践经验理清一下思路和结果。

5. Android实践之ScrollView中滑动冲突处理

在Android开发中,如果是一些简单的布局,都很容易搞定,但是一旦涉及到复杂的页面,特别是为了兼容小屏手机而使用了ScrollView以后,就会出现很多点击事件的冲突,最经典的就是ScrollView中嵌套了ListView。我想大部分刚开始接触Android的同学们都踩到过这个坑,这一篇文章就从最近做的一个项目讲起,然后在过程中提供一些解决冲突的思路。

6.最熟悉的陌生人 -- Gradle

Gradle对于很多开发者来说有一种既熟悉又陌生的感觉,他是离我们那么近,以至于我每天做项目都需要他,但是他又是离我们那么的远,因为我从来都不知道他里面写的东西到底是啥意思。对于这样的问题我也同样困惑,以前忙做这项目看到网上有一些教程拿过来就直接用了,并没有深入去理解,大部分精力还是消耗在了项目本身。

7.Android 上的蓝牙实践

我今天分享的主题是 Android 上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE 的开发和通常的 Android APP 的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。

8.Redex 初探与 Interdex:Andorid 冷启动优化

早在去年10月份,facebook就发布了介绍redex的文章,这个据说可以直接对apk做处理,既提高启动性能,又可减少安装包的利器让安卓开发者们都心动不已。直到今年4月,redex终于开源了,我们也第一时间对redex做了研究(有观众可能要说我骗人.

9.Android Robolectric 加载运行本地 So 动态库

Robolectric 是 Android 的单元测试框架,运行无需 Android 真机环境直接运行在 JVM 之上,所以在 test case 运行速度效率上有了很大提升,接近于 Java JUnit test(JUnit test > Robolectric ≫ androidTest)。不过框架本身并不支持 so 本地库的加载使用,加载时会直接报错.

10.Android App 安全的HTTPS 通信

漏洞描述 对于数字证书相关概念、Android 里 https 通信代码就不再复述了,直接讲问题。缺少相应的安全校验很容易导致中间人攻击,而漏洞的形式主要有以下3种: 自定义X509TrustManager。在使用HttpsURLConnection发起 HTTPS 请求的时候,提供了一个自定义的...

11.系统剖析Android中的内存泄漏

作为Android开发人员,我们或多或少都听说过内存泄漏。那么何为内存泄漏,Android中的内存泄漏又是什么样子的呢,本文将简单概括的进行一些总结。 关于内存泄露的定义,我可以理解成这样没有用的对象无法回收的现象就是内存泄露
类库

1.ToDoList

一个优雅、流畅转换的列表动画类库

2.blurkit-android

一个快度模糊的类库。

3.ExpandableTextView

一个能够伸展折叠的TextView

4.Keyframes

facebook 开源了一个图形库

5.freeline

阿里巴巴-Android平台上的秒级编译方案

6.OnePageSigninSignup

很赞的登陆页面

7.FabOptions

一个可自定义的多功能的FAB组建件

8.and_cube_progress

正方体样式的loadingView

9.ToastBar

一个Material Design 的Toast

10.Animated-Icons

一个铃铛提醒动画效果

11.JPTabBar

多种Tab切换的动画效果

12.update

清晰灵活简单易用的应用更新库

13.AssembleEssay

自定义LayoutManager实现一个展示文章的View,支持拖动插入以及相应的动画展示。
参考视频

1.Image & GIF Keyboards and Text Editors on Android

Stickers, GIFs and other rich content are available through soft keyboards in Android 7.1 and also in revision 25.0.0 of the v13 Support Library.

2. Switching to ExoPlayer: Better Video on Android

Effie Barak walks us through Udemy’s transition from MediaPlayer to ExoPlayer, covering the basics on how to make the switch.
算法

1. java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList

这篇是数据结构与算法的第3篇,通过前两篇的介绍,对应顺序表和链表已有比较深入的了解,而本篇是前两篇的延续,即优化前面所分析过的顺序表和双向链表(带头结点和尾结点,均不带数据)。

2. 白话算法之【动态规划入门】

动态规划(Dynamic Programming,所以我们简称动态规划为DP)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。
博外话

1.程序员的书籍资源

想整理一篇关于书籍的资源很久了,毕竟做一名程序员,就要做好保持学习的准备,主要是技术更新太快,不学就会被淘汰。 所以废话不多说了,我把我收集的关于书籍的资源整理出来,大概分为三个部分:

2.一个2年安卓开发者的一些忠告

我仍记得2014年我决定做安卓开发的那天,这是我一生中做出的最好决定之一。到现在已经有2年半了, 最初的时候,并没有人告诉我如何做才是正确的。我犯了很多错误,浪费了很多时间。 一年半之后,我有机会和一个真正有才而且经验丰富的安卓开发者一起工作

3.程序员如何保证「专注」与「效率」

简而言之,专注就是注意力分散的对立面。 记得大学时候教我英语的老教授说过的一句, 「知道为什么你们一直都学不好英语么,你们这一代人生活在一个太多诱惑的世界。」



微信公众号:Android博客周刊
微   博:陆镇生_Jomeslu
邮   箱:luzhensheng72@gmail.com

版权声明:自由转载-保持署名 | 本文遵从 CC BY 4.0 协议