Android开发经验谈Android开发Android知识

ClassyShark分析App信息

2016-09-26  本文已影响0人  JackMeGo
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

上一篇 下一篇

猜你喜欢

热点阅读