利用反编译学习Android

观书散遗帙,探古穷至妙。这篇文章主要讲述利用反编译学习Android相关的知识,希望能为你提供帮助。
自从2014年底到2015年中,全民创业的热潮就已经席卷全国了,一大批新的创业公司在北上广萌芽,也造成了大量的开发人员需求.扯远了,今天不谈创业潮,聊聊如何通过反编译学习android.
本文只是个人对于学习的一点看法,大神请绕道.
如今市面上有很多优秀的App.这些App比较适合我们拿出来研究,去了解他们使用的技术(用了哪些开源库,^_^).
那么如何去了解呢?
反编译~
基本上经过反编译之后的代码,就能大致的了解其软件结构了.
下面以一些app为例简单地说明,仅作为学习交流,请勿随意传播,造成不良影响.
搭建反编译环境由于搭建反编译环境比较简单,这里就不详细说明了.
?
反编译常用的反编译命令:


  • 获取反编译后的资源文件和smail代码等
    ??apktool d xxx.apk??
  • 将dex转换为jar包在jd_gui中查看
    ??d2j-dex2jar.sh classes.dex??

分析反编译结果常用开源库

  • 注解库??Butterknife??
  • 网络请求框架??Retrofit?? (支持Rxjava)
  • 网络请求库??okHttp??
  • Json解析库??Gson??
  • okHttp库用到 ??okio??
  • ReactX函数响应式编程框架 ??RxJava??
  • Rx异步框架同上 ??RxAndroid??
  • 图片控制库??PhotoView??
  • 图片加载库??Glide??
  • 图片加载库??Picasso??
  • Android解耦库??EventBus??
  • 内存泄露检测工具??eakcanary??
  • 支持在低版本(API 11 以下)使用Android 属性动画以及3D 旋转动画的框架 ??nineoldandroids??
  • 图片毛玻璃效果库??Android StackBlur??
  • 网络请求框架 By Google ??Volley??
  • Light weight android easing library ??Android-Easing??

常用三方服务

  • 百度地图
  • 百度推送
  • Umeng更新组件& 分析
  • 环信及时通信
  • 阿里妈妈推广sdk
  • 阿里支付sdk
  • 微信支付sdk

END由于反编译的App不多,大概总结了一下,如果有一些不错的App可以一起分析一下其中使用的开源库和使用的技术.
【利用反编译学习Android】不过目前RxJava+Retrofit+ButterKnife+OkHttp+EventBus的框架貌似被用的很多.

    推荐阅读