[关闭]
@Sniper 2017-03-10T06:49:08.000000Z 字数 2615 阅读 1238

Android开发周报:Android Studio 2.3发布、Android Hook技术解析

Android周报 Android 移动


摘要:Android Studio 2.3正式版已经发布,数据研究机构赛诺发布了2017年1月中国智能手机市场报告,其中OPPO和vivo夺得冠亚军的头衔。本期周报为大家带来了App启动分析、Hook技术、安全防范等技术干货,还有数据库调试工具、vlayout UI框架等优秀开源项目推荐。欢迎阅读。

新闻

  1. 《Android Studio 2.3 正式版发布》:谷歌最近公布了Android Studio 2.3正式版。新版本增加了对WebP的支持;ConstraintLayout库支持更新和布局编辑器的部件面板。提供一个新的App Link助手可以帮助你在应用中构建Uri的统一视图。新的运行按钮提供更直观和可靠的立即运行体验。最后是Android模拟器的测试,支持文本的复制和粘贴。

  2. 《谷歌为Play商店推全新广告模式:游戏试玩》:在近期举办的GDC2017(游戏开发者大会)上,谷歌公布了一项Google Play商店的新功能——Playables,这个新功能实际上是一种全新的广告模式:用户在看中一个游戏之前,可以先玩一下该游戏的“精简版“,然后再决定是否购买。

  3. 《1月中国智能手机市场:苹果iPhone微增,小米大跌》:数据研究机构赛诺发布了2017年1月中国智能手机市场报告,其中OPPO和vivo再次成为赢家,销售量分别增长12.9%和13.7%,夺得冠亚军的头衔。此外,iPhone的销售量也微增1.8%,排名第三,而且其销售额达到269亿元,占据整体市场29.4%的份额,目前占时无人能撼动。

教程

  1. 《Android 7.0应用启动流程分析》:所谓冷启动就是启动应用时,后台没有该应用的进程,此时系统会创建一个进程分配给它(AMS通过Socket和Zygote通信,Zygote通过forkAndSpecialize()方法向Linux内核申请新进程),之后会创建和初始化Application,然后通过反射执行ActivityThread中的main方法。本文结合源码,详细分析了应用冷启动的过程。

  2. 《浅谈Android Hook技术》xposed是知名的开源框架,xposed通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。Frida是一款基于python+javascript的hook框架,通杀Android\iOS\linux\win\osx等各平台,由于是基于脚本的交互,因此相比xposed和substrace cydia更加便捷,本文介绍两个框架在Android下面的使用。

  3. 《Android架构那些事之第三方库的隔离》:我们在开发的过程中会不可避免的引用一些第三方库,比如网络请求库、图片加载库等等。就拿图片加载库来说,程序中不会只有一个地方来引用到此库,可能有N个类会用到此库来显示图片。这种情况下,就可以通过一个中间层来引用“第三方图片加载库”。这样做的好处是不管第三方图片加载库换成Picasso还是Glide,只需改变中间层,其他的一行代码都不需要改动。阅读文章,了解详细方案。

  4. 《Android应用安全风险与防范》:Android开发除了部分功能采用C/C++编码外,其余主要都是采用Java进行编码开发功能。Java应用非常容易被反编译,Android自然也不例外。只要利用apktool等类似的反编译工具,就可以通过安装包获取源代码。Google为了保护开发者的知识产权,为Android提供了ProGuard混淆方案,以增加反编译后源码阅读,但对于Android开发老司机和逆向工程师来说,解读还原出源代码只是时间问题。

  5. 《Android LayoutInflater源码解析》:大家对LayoutInflater一定不陌生,LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,我们可以称之为布局加载器。在Fragment的onCreateView方法、ListView Adapter的getView方法等许多地方都可以见到它的身影。本文详细介绍了LayoutInflater的用法以及加载布局的工作原理。

  6. 《从源码出发浅析Android TV的焦点移动原理》:Android TV开发,和手机开发很大的一个不同点就是焦点问题。焦点(Focus)可以理解为选中态,在Android TV上起很重要的作用。一个视图控件只有在获得焦点的状态下,才能响应按键的Click事件。相对于手机上用手指点击屏幕产生的Click事件, 在使用Android TV的过程中,遥控器是一个主流的操作工具,通过点击遥控器的方向键来控制焦点的移动。文章分上下两篇,详细介绍了Android TV的焦点知识。

  7. 《Android恶意软件开发的新技术 | 360恶意软件专题报告》:2016年全年,从手机用户感染恶意程序情况看,360互联网安全中心累计监测到Android用户感染恶意程序2.53亿,平均每天恶意程序感染量约为70万人次。从恶意软件开发技术角度看,2016年恶意软件利用社会工程学、界面劫持、破解接口、开源项目、简易开发工具、碎片化代码、注入系统根进程、篡改系统引导区以及代理反弹技术,成为主要使用的新技术。

开源项目

  1. Android-Debug-Database:Android Debug Database 是一个功能强大的数据调试工具。使用改工具,我们可以通过浏览器查看、编辑数据库、shared preferences,强烈推荐使用。

  2. vlayout:vlayout是手机天猫Android版内广泛使用的一个基础UI框架项目。提供了一个用于RecyclerView的自定义的LayoutManger,可以实现不同布局格式的混排,目标是支撑客户端native页面的快速开发。它也是Tangram框架的基础模块。

  3. MarkdownView:该库支持Markdown格式的文本显示。

  4. WeiXinRecordedDemo:高仿微信视频录制,涂鸦水印添加,基于ffmpeg实现了视频拍摄及合成,图片与视频合成等。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注