自从2014年底到2015年中,全民创业的热潮就已经席卷全国了,一大批新的创业公司在北上广萌芽,也造成了大量的开发人员需求.扯远了,今天不谈创业潮,聊聊如何通过反编译学习Android.
本文只是个人对于学习的一点看法,大神请绕道.

如今市面上有很多优秀的App.这些App比较适合我们拿出来研究,去了解他们使用的技术(用了哪些开源库,^_^).
那么如何去了解呢?
反编译~

基本上经过反编译之后的代码,就能大致的了解其软件结构了.
下面以一些app为例简单地说明,仅作为学习交流,请勿随意传播,造成不良影响.

搭建反编译环境

由于搭建反编译环境比较简单,这里就不详细说明了.
可以参考文章 Mac下配置Apktool反编译环境

反编译

常用的反编译命令:

  • 获取反编译后的资源文件和smail代码等

    apktool d xxx.apk

  • 将dex转换为jar包在jd_gui中查看

    d2j-dex2jar.sh classes.dex

分析反编译结果

常用开源库

常用三方服务

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

END

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

最新文章

  1. js读书笔记
  2. 作业七:团队项目——Alpha版本冲刺阶段-10
  3. 妙用Javascript中apply、call、bind
  4. 理解reserve与resize
  5. Android Studio 2.2 HTTP proxy setting 提示异常
  6. 揭开.NET消息循环的神秘面纱(GetMessage()无法取得任何消息,就会进入Idle(空闲)状态,进入睡眠状态(而不是Busy Waiting)。当消息队列不再为空的时候,程序会自动醒过来)
  7. BOT、BT、PPP形式介绍(3)
  8. Entity Framework排序
  9. html网页获取php网页数据等知识记录
  10. 【转载】Qt中的QString,QByteArray,Qchar, char*
  11. Defeat the Enemy UVALive - 7146
  12. ES 03 - 初探Elasticsearch的主要配置文件(以6.6.0版本为例)
  13. 安装vue-cli脚手架构建工具
  14. 【算法python实现】 -- 不同路径
  15. 命令行启用IIS Express
  16. [LeetCode] 133. Clone Graph_ Medium tag: BFS, DFS
  17. Zookeeper学习记录(二):使用以及配置
  18. ueditor使用注意
  19. 813. Largest Sum of Averages
  20. aix系统下的websphere的静默安装

热门文章

  1. 42、通过ontouch检测expandableListview的单击、长按、列表滚动
  2. leetcode 【 Unique Paths 】python 实现
  3. 5个最佳的Android测试框架(带示例)
  4. Leetcode 587.安装栅栏
  5. SVD简化数据
  6. 【转】Unity3d的单例及场景间的数据传递
  7. js获取触发事件的元素
  8. 【bzoj2431】[HAOI2009]逆序对数列 dp
  9. JavaScript简明教程之Node.js
  10. python获取目录下文件夹名称