利用反编译学习Android
自从2014年底到2015年中,全民创业的热潮就已经席卷全国了,一大批新的创业公司在北上广萌芽,也造成了大量的开发人员需求.扯远了,今天不谈创业潮,聊聊如何通过反编译学习Android.
本文只是个人对于学习的一点看法,大神请绕道.
如今市面上有很多优秀的App.这些App比较适合我们拿出来研究,去了解他们使用的技术(用了哪些开源库,^_^).
那么如何去了解呢?
反编译~
基本上经过反编译之后的代码,就能大致的了解其软件结构了.
下面以一些app为例简单地说明,仅作为学习交流,请勿随意传播,造成不良影响.
搭建反编译环境
由于搭建反编译环境比较简单,这里就不详细说明了.
可以参考文章 Mac下配置Apktool反编译环境
反编译
常用的反编译命令:
- 获取反编译后的资源文件和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可以一起分析一下其中使用的开源库和使用的技术.
不过目前RxJava+Retrofit+ButterKnife+OkHttp+EventBus的框架貌似被用的很多.
利用反编译学习Android的更多相关文章
- Atitit.反编译apk android源码以及防止反编译apk
		Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ... 
- Unity-DLL反编译学习
		本文由博主(SunboyL)原创,转载请注明出处:http://www.cnblogs.com/xsln/p/DLL_DeCompilation.html 在Unity实际开发过程中, ... 
- System.Windows.Forms.Timer反编译学习
		using System; using System.ComponentModel; using System.Globalization; using System.Runtime; using S ... 
- 【安全性测试】利用反编译查看对应activity的方法采用hook技术绑定劫持_入门
		本次主要为了研究手机端的安全性而写的一篇文章,在基于自己对手机安全性的研究下,想到了这些工具之间的结合,当然这也算是第一次对手机安全研究勇敢地踏出一步,也不知道是否成功,还是准备撞南墙撞到底吧! 使用 ... 
- android反编译工具总结
		序:总结反编译主要的目的在于学习.利用反编译进行相关的汉化或修改,都是不道德的! 大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.d ... 
- Android反编译方法(class+xml)
		ps:对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一 ... 
- Android安全攻防战,反编译与混淆技术完全解析(上)
		转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ... 
- 反编译Android APK及防止APK程序被反编译
		怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ... 
- Mac上反编译Android apk安装包
		什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ... 
随机推荐
- 从输入url开始,完善前端体系架构
			原文链接: https://segmentfault.com/a/1190000013662126 从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系! javascript 前端 23 ... 
- [python][django学习篇][11]后台admin用户登录博客,添加文章---这一章和博客首页设计没有关系
			1 如果没有创建超级管理员账号,先要创建python manage.py createsuperuser 2 在admin后台注册模型(如果没有这一步,登录http://127.0.0.1:8000/ ... 
- 通过 purge_relay_logs 自动清理relaylog
			使用背景 线上物理备份任务是在从库上进行的,xtrabackup会在备份binlog的时候执行flush logs,relay-log会rotate到新的一个文件号,导致sql thread线程应用完 ... 
- jquery版手风琴效果
			<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ... 
- HTML5与HTML4的比较
			HHTML5封装一些标签和属性,方便了开发. <form> <p> <label>Username:<input name="search" ... 
- iOS-文本段落样式NSMutableParagraphStyle与NSParagraphStyle的使用和一些富文本处理属性
			开发过程中,经常会遇到动态计算行高的问题, - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)op ... 
- PHP算法面试题目
			1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 //冒泡排序(数组排序) functionbubble_sort($array){ $count = count($array ... 
- MyBatis输出sql需要log4j.properties配置
			# Global logging configuration log4j.rootLogger=info,stdout,console,logfile # MyBatis logging config ... 
- bzoj 3704 昊昊的机油之GRST 贪心dp,思维
			昊昊的机油之GRST Time Limit: 10 Sec Memory Limit: 1024 MBSubmit: 80 Solved: 33[Submit][Status][Discuss] ... 
- js 清空div
			document.getElementById('BIGDraw').innerHTML = ""; $('#BIGDraw').html(""); $('#B ... 
