利用反编译学习Android

Posted mb61b711907d5f4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用反编译学习Android相关的知识,希望对你有一定的参考价值。

自从2014年底到2015年中,全民创业的热潮就已经席卷全国了,一大批新的创业公司在北上广萌芽,也造成了大量的开发人员需求.扯远了,今天不谈创业潮,聊聊如何通过反编译学习android.

本文只是个人对于学习的一点看法,大神请绕道.

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

那么如何去了解呢?

反编译~

基本上经过反编译之后的代码,就能大致的了解其软件结构了.

下面以一些app为例简单地说明,仅作为学习交流,请勿随意传播,造成不良影响.

搭建反编译环境

由于搭建反编译环境比较简单,这里就不详细说明了.

反编译

常用的反编译命令:


  • 获取反编译后的资源文件和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的框架貌似被用的很多.

以上是关于利用反编译学习Android的主要内容,如果未能解决你的问题,请参考以下文章

Android proguard代码混淆

androidkiller反编译软件使用与踩坑并解决的过程

Android APK反编译就这么简单 详解(附图)

Android APK反编译就这么简单 详解(附图)

APK反编译

Android 应用安全风险与防范