ClassyShark工具分析App的应用框架
来源:互联网 发布:单片机材料做的 编辑:程序博客网 时间:2024/06/05 04:52
App应用本质上是一个apk包, 即一个zip包, 可以直接显示其中的内容. 通过apk文件, 我们可以获知apk的版本信息, so库和第三方库, 并了解一些主流公司的应用框架. 分析工具主要是ApkTool和ClassyShark, 本人比较喜欢Shark工具. 我使用ClassyShark分析一下美团的框架, 也可以按照这个原理, 分析其他App的基本架构.
让我们看看, 有什么好玩且有用的架构信息?
1 框架
噢, 美团的编译版本非常新, 紧跟时代, 23版本(Android 6.0).
但是TargetSdkVersion仍然是22版本(Android 5.1), 即6.0手机无法运行.
最低版本是16(Android 4.1), 4.1以下的手机无法运行.
使用MultiDex, 而且竟然有三个, 说明方法非常之多, 可能引入了大量第三方库.
2 方法
文件非常之多, 共有9万多个, 使用了大量的主流开源库.
我来介绍一下这些库, 不认识的朋友最好学习一下, 这些都是非常流行的开源库.
2.1 com
sankuai, 美团的核心类;
xiaomi, 小米推送(xiaomi);
squareup, Squareup的EventBus(otto), okhttp, picasso;
readystatesoftware, 状态栏沉浸效果库;
dianping, 大众点评, 已经合并一家, 东西也得用;
baidu, 百度地图;
viewpagerindicator, viewpager的滚动效果, 早期实现toolbar效果的方式;
weibo, 新浪微博;
fasterxml, 即jackson, json解析库;
iflytek, 科大讯飞的语音集成;
flurry, 统计库;
actionbarsherlock, actionBar的Tab效果, 和viewpagerindicator一起用.
meituan, 美团的核心类;
alipay, 支付宝;
handmark, 下拉刷新;
ms, Square的TextView文字扩展库, ExpandableTextView;
facebook, 图片处理库, 美团有大量的图片需求;
google, Gson解析库, ZXing二维码识别库, Dagger依赖注入;
unionpay, 银联支付;
tencent, 腾讯的QQ和微信;
ta, utdid2, 消息推送;
huawei, 华为手机的推送机制;
umpay, 联动优势支付;
amap, 高德地图;
nineoldandroids, ListView项的左右删除;
sina, 新浪登录;
2.2 其他
de.greenrobot, EventBus, 又一个, 看来代码开发还很混乱, 没有统一;
retrofit, 网络库, 2.x版本, 升级很及时;
javax, java注释, 配合dagger2使用;
org, apache的一些库;
rx, rxjava异步请求处理;
okio, square的存储数据读写库;
uk, photoview实现图片放大缩小功能;
android, 这个才是android提供的支持库;
bolts, 异步task关联库.
roboguice, Google Guice, Google的依赖注入库, 和Dagger2重复;
net, lingala, 处理zip压缩的库.
3. 总结
美团是一个技术非常Open的公司, 使用主流的开源框架, 减少开发成本.
这些开源库, 我也均有涉猎, 都是非常优秀的库, 不了解的朋友可以学习一下.
虽然方法很多, 但是使用开源库, 会大大减少开发成本, 增强应用稳定性.
Dagger+Retrofit+RxJava的业内标配, 美团也有所涉猎, 非常不错.
对于我感兴趣的还是最新的app使用了那些比较新的开源框架。
通过分析App的开源库, 是不是感觉架构其实也不是那么难, 多涉猎些东西, 使用起来才会得心应手. 武器库里多些趁手的武器, 打仗才会无往不胜.
OK, that’s all! Enjoy it.
- ClassyShark工具分析App的应用框架
- 查看Android任意可执行文件的工具ClassyShark
- ClassyShark工具使用小记
- ClassyShark - APK 分析利器
- ClassyShark apk分析利器
- apk分析利器:ClassyShark
- Android apk分析利器--ClassyShark
- 应用类App框架搭建 之框架分析(待续)
- Google提供的一款查看APK内容的工具——ClassyShark
- ClassyShark——apk分析利器
- ClassyShark——apk分析利器
- ClassyShark——apk分析利器
- iOS上分析app的工具
- 几款开源的hybird移动app框架分析
- App数据分析工具
- 使用ClassyShark压缩你的项目
- ClassyShark:轻便的安卓可执行文件浏览器
- 使用ClassyShark压缩你的项目
- 从零开始搭建android App 日志(1)
- notepad++安装emmet和python script的方法
- OPC与OPC UA
- 如何看当前本机的网络流量
- 基于Fragment的Android前台服务框架
- ClassyShark工具分析App的应用框架
- tomcat日志配置,log信息如何输出到同一个文件
- 监听文件修改,自动加载xml文件。
- Android studio 下的robotium自动化测试和持续集成
- 【一步一步学NPOI】5.单元格合并与对齐
- 体验 Java 并发 api,用不同方式实现信号量锁(Semaphore)(2)
- 煙青色的雨,煙青色的鼓浪嶼
- 一个Java NIO问题引发的思考
- 关于淘点点面试中碰到的架构问题