ClassyShark分析App信息

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,分析结果展示如下。

嘀嘀出行用户端:
阿里代码安全工具
阿里支付
腾讯Crash收集工具
腾讯地图SDK和微信支付SDK
高德地图SDK
UniversalImageLoader
Google Gson库
Google Protocol Buffer库
Google二维码扫描库
Google WebP格式的压缩图片
Google推荐的Glide图片加载库
Square公司的OkHttp
Square公司的内存泄露检测工具
Square公司的Wire:轻量级的protocol buffers库
科大讯飞的语音处理库
旷世科技SDK:人脸识别和运动检测工具
个推
下拉刷新工具android-Ultra-Pull-To-Refresh
四个角可以不同的圆角矩形
material风格的进度条
国产的AndroidEventBus
Gif图片展示控件
facebook加密库conceal
嘀嘀自己的即时通讯
嘀嘀使用了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:
Android v4 support包
Android v7 support包
高德地图
个推
菊风音视频聊天
听云性能监控
新浪SDK
OkHttp网络库
腾讯三方登录SDK
SqlLite数据库DAO:GreenDao
消息发布/订阅工具EventBus
图片缩放工具ImageViewZoom
HttpClient网络库

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

国人封装的AndroidEventBus

PhotoView图片缩放控件

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

富文本编辑器
自己的注解库

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

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

春雨医生用户端:

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

图表绘制组件MPAndroidChart
数据采集工具Flurry
百度语音识别
阿里支付SDK
腾讯登录及微信支付SDK
银联支付SDK
二维码扫描库ZXing
Countly数据收集

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,034评论 25 709
  • 搜索微信推送的时候看到的一篇文章,全篇无废话,代码简洁规范,就原原本本的复制过来了,还没有实践过 原文链接:htt...
    衡阿大阅读 4,985评论 0 0
  • 我走了,走得很远很远。 从南到北。 认识他的时候,我19岁。正是不谙世事的年纪,张扬又自负。 他20岁,有一张干净...
    梦离拂阅读 1,702评论 4 0
  • 大学毕业后,我又选择了考一年研,也就是研究生所谓的“二战”,心志时而雄起时而隐缩,最后没过国家线,似乎是为了满...
    白雨松阅读 1,585评论 0 0

友情链接更多精彩内容