ClassyShark分析App信息

ClassyShark分析App信息_第1张图片
Classyshark

ClassyShark是Google开发的一个用于Android App分析的工具,可以分析jar, class, apk, dex, so, aar类型的文件。利用Classyshark对App进行分析,可以了解到该App采用了什么样的框架,用到哪些开源组件和技术,从而了解技术趋势,做到学以致用。

Classyshark下载地址https://github.com/google/android-classyshark/releases。
使用文档:https://github.com/google/android-classyshark/blob/master/CommandLine.pdf

使用起来很简单,通过如下命令启动:

java -jar ClassyShark.jar

然后将需要分析的apk拖进去就行了。本文分析了滴滴出行用户端,春雨医生用户端和医生端apk,分析结果展示如下。

嘀嘀出行用户端:
ClassyShark分析App信息_第2张图片
阿里代码安全工具
ClassyShark分析App信息_第3张图片
阿里支付
腾讯Crash收集工具
腾讯地图SDK和微信支付SDK
ClassyShark分析App信息_第4张图片
高德地图SDK
UniversalImageLoader
Google Gson库
Google Protocol Buffer库
Google二维码扫描库
Google WebP格式的压缩图片
ClassyShark分析App信息_第5张图片
Google推荐的Glide图片加载库
Square公司的OkHttp
Square公司的内存泄露检测工具
Square公司的Wire:轻量级的protocol buffers库
科大讯飞的语音处理库
ClassyShark分析App信息_第6张图片
旷世科技SDK:人脸识别和运动检测工具
ClassyShark分析App信息_第7张图片
个推
下拉刷新工具android-Ultra-Pull-To-Refresh
四个角可以不同的圆角矩形
material风格的进度条
国产的AndroidEventBus
Gif图片展示控件
ClassyShark分析App信息_第8张图片
facebook加密库conceal
ClassyShark分析App信息_第9张图片
嘀嘀自己的即时通讯
ClassyShark分析App信息_第10张图片
嘀嘀使用了MVP开发模式
和嘀嘀出租车共用的代码

总结:
两个Dex文件
网络通信:OkHttp(Square)
图片加载:UniversalImageLoader,Glide
支付:阿里支付,微信支付
数据格式:Json,Protocol Buffer
Json解析:Gson(Google)
Protocol Buffer解析:Protobuf(Google),Wire(Square)
地图导航:高德地图,腾讯地图
推送:个推
语音识别:科大讯飞
人脸识别和运动识别:旷世科技
事件订阅发布:AndroidEventBus
Crash信息收集:腾讯Bugly
代码防反编译:阿里
内存泄露检测:LeakCanary(Square)
加密算法:conceal(Facebook)
二维码扫描:ZXing (Google)
压缩图片:WebP(Google)
UI组件:joooonho(四角矩形),materialishprogress(进度条),android-Ultra-Pull-To-Refresh(下拉刷新),Gif显示控件
开发模式:MVP

春雨医生诊所端App:
ClassyShark分析App信息_第11张图片
Android v4 support包
ClassyShark分析App信息_第12张图片
Android v7 support包
ClassyShark分析App信息_第13张图片
高德地图
ClassyShark分析App信息_第14张图片
个推
菊风音视频聊天
ClassyShark分析App信息_第15张图片
听云性能监控
ClassyShark分析App信息_第16张图片
新浪SDK
ClassyShark分析App信息_第17张图片
OkHttp网络库
腾讯三方登录SDK
ClassyShark分析App信息_第18张图片
SqlLite数据库DAO:GreenDao
消息发布/订阅工具EventBus
图片缩放工具ImageViewZoom
ClassyShark分析App信息_第19张图片
HttpClient网络库

HttpClient网络库,HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。HttpClient 用到了 Apache Jakarta common 下的子项目 codec commons-codec是Apache下面的一个加解密开发包,提供了Base64/MD5/SHA1/SHA256加密算法。

国人封装的AndroidEventBus

PhotoView图片缩放控件

PhotoView:
支持单点/多点触摸,即时缩放图片;
支持平滑滚动;
在滑动父控件下能够运行良好;(例如:ViewPager)
当用户的触点改变时可以触发通知。

富文本编辑器
ClassyShark分析App信息_第20张图片
自己的注解库

总结:
两个dex文件
定位:高德地图
推送:个推
网络:OkHttp+HttpClient
性能监控:听云
视频聊天:菊风
三方登录/分享:新浪,腾讯
SqlLite数据库DAO:GreenDao
事件订阅/发布:EventBus,AndroidEventBus
图片缩放:ImageViewZoom,PhotoView

注意:这不是用到的所有的库,有些库做了代码混淆,不能识别出是什么库,比如图片加载的Picasso库。

春雨医生用户端:

除了上述医生端用到的组件外,还用到了:

ClassyShark分析App信息_第21张图片
图表绘制组件MPAndroidChart
数据采集工具Flurry
ClassyShark分析App信息_第22张图片
百度语音识别
阿里支付SDK
ClassyShark分析App信息_第23张图片
腾讯登录及微信支付SDK
ClassyShark分析App信息_第24张图片
银联支付SDK
ClassyShark分析App信息_第25张图片
二维码扫描库ZXing
Countly数据收集

总结:
两个dex文件
定位:高德地图
推送:个推
网络:OkHttp+HttpClient
图片加载:Picasso
性能监控:听云
视频聊天:菊风
三方登录/分享:新浪,腾讯
支付工具:阿里支付,微信支付,银联支付
事件订阅/发布:EventBus
图片缩放:ImageViewZoom,PhotoView
二维码扫描:ZXing
数据收集:Countly,Flurry
语音识别:百度语音
图标绘制:MPAndroidChart

你可能感兴趣的:(ClassyShark分析App信息)