Android开发技术周报 Issue#23

mxf8 9年前

原文  http://www.androidweekly.cn/android-dev-weekly-issue23/

教程

  1. Android精选话题讨论与面试题集锦

    由@Trinea发起的,大家的共同参与和维护,目前“Android 面试题集锦及解答” 已有 63 个 Issues,近 400 Star。另外我们将一部分精彩话题移到“Android 精选话题讨论”下讨论 http://t.cn/RwgpkQh 每天逛 GitHub 会成为更多开发的习惯。

  2. RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid item position 解决方案

    使 用 RecyclerView 加官方下拉刷新的时候,如果绑定的 List 对象在更新数据之前进行了 clear,而这时用户紧接着迅速上滑 RV,就会造成崩溃,而且异常不会报到你的代码上,属于RV内部错误。初次猜测是,当你 clear 了 list 之后,这时迅速上滑,而新数据还没到来,导致 RV 要更新加载下面的 Item 时候,找不到数据源了,造成 crash。

  3. 使用Androguard进行Android APK逆向工程系列

    Androguard使用Python写的一系列逆向工具集,功能很强大哦,对逆向工程感兴趣的小伙伴可以这个系列。

  4. 如何不重打包调试Android应用

    安全工程师在进行Android逆向的时候常常会有动态调试的需求,由于厂商对外发布的APP都是release版,发布产品时都会将 debuggable设置为 false,使第三方不能直接调试分析APP。目前流行的方法是修改APK的 AndroidManifest.xml 将 android:debuggable 设置为 true,再重新打包签名,操作较简单,但如果碰到做了自校验加固的APK包,还要去除APK的自校验才能重打包成功,对安全人员的逆向水平和技术要求又 提高了不少。

    </li>
  5. 自己动手开发Drozer插件之AutoAttack

    Drozer 是MWR Labs开发的一款针对Android系统的安全测试框架。Drozer可以通过与Dalivik 虚拟机,以及其它应用程序的IPC端点以及底层操作系统的交互,避免正处于开发阶段,或者部署于你的组织的android应用程序和设备暴露出不可接受的 安全风险。

  6. 使用Android studio分析内存泄露

    Android使用java作为平台开发,帮助了我们解决了很多底层问题,比如内存管理,平台依赖等等。然而,我们也经常遇到OutOfMemoey问题,垃圾回收到底去哪了?

  7. Android Proguard 详解

    Java代码是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard是一个混淆代码的开源项目。它的主要作用就是混淆,当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。

  8. 提交library项目到 Maven Central

    将FilterMenu提交到GitHub后,在README.md的Getting Started里仅仅写上 Download the source to use it as library project 这唯一使用途径,居然没有gradle/maven?作为Android Studio的忠实用户,自己写的库怎么能只提供这么麻烦的方法!!!于是决定把它提交到Maven Central中,并写下这篇。

  9. 使用Android Studio阅读整个Android源码

    之 前一直在windows下用source insight阅读android源码,效果非常好。后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式。最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools /idegen。顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然夜可用于android studio。使用之后,发现效果超棒,所以这里专门撰文推荐。

  10. Android 开发最佳实践中文版

    之前推荐过英文的,最近由 @andyiac 同学翻译成了中文版,特此在推荐一下。摘要:1.使用 Gradle 和它推荐的工程结构;2.把密码和敏感数据放在gradle.properties;3.不要自己写 HTTP 客户端,使用Volley或OkHttp库;4.使用Jackson库解析JSON数据;5.避免使用Guava同时使用一些类库来避免65k method;6.limit(一个Android程序中最多能执行65536个方法);7.使用 Fragments来呈现UI视图。

  11. 使用Chrome来调试你的Android App

    个 人一直对Chrome情有独钟,Chrome除了更快之外,对开发者的支持更友好。内置强大的Developer Tools,相信Web开发简直爱不释手!而且Chrome Store里提供各种各样的插件,没有你用不到,只有你想不到。现在任何事基本Chrome全部办的到,有时候就在想,如果可以用Chrome调试 Android App该多方便,而如今非死book刚刚开源了一个工具Stetho,从此Chrome调试Android不再是梦。

  12. </ol>

    代码&开源库

    1. GridPasswordView

      仿微信/支付宝的密码输入框效果。

      Android开发技术周报 Issue#23

    2. Taurus

      下拉刷新的动画好赞。

      Android开发技术周报 Issue#23

    3. android-UniversalMusicPlayer

      官方Sample,一款播放器,UI和交互都超级棒,而且同时支持手机、平板和Android Wear。

      Android开发技术周报 Issue#23

    4. FilterMenu

      效果很赞的圆形菜单。

    5. DevelopQuickSetting

      一个快速开启关闭开发者设置的工具,提供了app界面和桌面widget,能快速打开关闭overdraw,layout border,gpu rendering,adb wifi,不保存activity实例等功能。

    6. UltimateRecyclerView

      一个多功能的RecyclerView,包括了下拉刷新、加载更多,滑动删除,拖拽排序、多种动画、视差拖动、Toolbar渐变、Toolbar和FAB随着滚动出现消失等等效果,都可以放在同一个RecyclerVIew中并自由配置。

      Android开发技术周报 Issue#23

    7. Material-Animations

      Android Transition动画解释说明示例。

    工具

    1. Android Sutdio 1.2 Preview 1

      AndroidSutdio1.2 新增特性列表:反编译 debugger自动显示变量值 debugger显示变量引用 evaluation expression支持lambda和操作符运算(>>>) 性能提升 注解推断(@NotNull,@Nullable,@Contract) git历史查看。

    2. Android Apk Decompiler

      Android Apk Decompiler 一个在线反编译 Android APK 的工具,方便手头没有开发电脑的时候临时反编译一下APK使用。

    新闻

    1. 谷歌 Android 5.1 有什么重大更新?

      谷 歌 Android 团队通过其官方博客发布了全新的 Android 5.1 系统更新,修复一些系统错误并新增了一些特性。Android 5.1 已经率先在谷歌发布的 Android One 入门级手机进行了升级。而目前谷歌宣布 Android 5.1 将推送给 Nexus 手机和平板电脑用户。此次更新修复了一些系统错误、支持多 SIM 卡、高清语音、引入「设备安全保护」机制以及在下拉菜单新增 Wifi 和蓝牙设置。

    视频

    1. Android图像处理-打造美图秀秀从它开始

      本次课程将带领大家了解Android中对图像色彩的处理和分析方法,并通过实例向大家演示市面上常见的图像处理特效的实现方法。

    版权声明:欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0

    </section> </div>