ClassyShark是Google開(kāi)發(fā)的一個(gè)用于Android App分析的工具厘贼,可以分析jar, class, apk, dex, so, aar類型的文件漆羔。利用Classyshark對(duì)App進(jìn)行分析,可以了解到該App采用了什么樣的框架验靡,用到哪些開(kāi)源組件和技術(shù)劲弦,從而了解技術(shù)趨勢(shì)耳标,做到學(xué)以致用。
Classyshark下載地址https://github.com/google/android-classyshark/releases邑跪。
使用文檔:https://github.com/google/android-classyshark/blob/master/CommandLine.pdf
使用起來(lái)很簡(jiǎn)單次坡,通過(guò)如下命令啟動(dòng):
java -jar ClassyShark.jar
然后將需要分析的apk拖進(jìn)去就行了。本文分析了滴滴出行用戶端画畅,春雨醫(yī)生用戶端和醫(yī)生端apk砸琅,分析結(jié)果展示如下。
嘀嘀出行用戶端:
總結(jié):
兩個(gè)Dex文件
網(wǎng)絡(luò)通信:OkHttp(Square)
圖片加載:UniversalImageLoader轴踱,Glide
支付:阿里支付症脂,微信支付
數(shù)據(jù)格式:Json,Protocol Buffer
Json解析:Gson(Google)
Protocol Buffer解析:Protobuf(Google),Wire(Square)
地圖導(dǎo)航:高德地圖摊腋,騰訊地圖
推送:個(gè)推
語(yǔ)音識(shí)別:科大訊飛
人臉識(shí)別和運(yùn)動(dòng)識(shí)別:曠世科技
事件訂閱發(fā)布:AndroidEventBus
Crash信息收集:騰訊Bugly
代碼防反編譯:阿里
內(nèi)存泄露檢測(cè):LeakCanary(Square)
加密算法:conceal(Facebook)
二維碼掃描:ZXing (Google)
壓縮圖片:WebP(Google)
UI組件:joooonho(四角矩形)沸版,materialishprogress(進(jìn)度條),android-Ultra-Pull-To-Refresh(下拉刷新)兴蒸,Gif顯示控件
開(kāi)發(fā)模式:MVP
春雨醫(yī)生診所端App:
HttpClient網(wǎng)絡(luò)庫(kù)视粮,HttpClient 是 Apache Jakarta Common 下的子項(xiàng)目,可以用來(lái)提供高效的橙凳、最新的蕾殴、功能豐富的支持 HTTP 協(xié)議的客戶端編程工具包。HttpClient 用到了 Apache Jakarta common 下的子項(xiàng)目 codec commons-codec是Apache下面的一個(gè)加解密開(kāi)發(fā)包岛啸,提供了Base64/MD5/SHA1/SHA256加密算法钓觉。
PhotoView:
支持單點(diǎn)/多點(diǎn)觸摸,即時(shí)縮放圖片坚踩;
支持平滑滾動(dòng)荡灾;
在滑動(dòng)父控件下能夠運(yùn)行良好;(例如:ViewPager)
當(dāng)用戶的觸點(diǎn)改變時(shí)可以觸發(fā)通知瞬铸。
總結(jié):
兩個(gè)dex文件
定位:高德地圖
推送:個(gè)推
網(wǎng)絡(luò):OkHttp+HttpClient
性能監(jiān)控:聽(tīng)云
視頻聊天:菊風(fēng)
三方登錄/分享:新浪批幌,騰訊
SqlLite數(shù)據(jù)庫(kù)DAO:GreenDao
事件訂閱/發(fā)布:EventBus,AndroidEventBus
圖片縮放:ImageViewZoom嗓节,PhotoView
注意:這不是用到的所有的庫(kù)荧缘,有些庫(kù)做了代碼混淆,不能識(shí)別出是什么庫(kù)拦宣,比如圖片加載的Picasso庫(kù)截粗。
春雨醫(yī)生用戶端:
除了上述醫(yī)生端用到的組件外,還用到了:
總結(jié):
兩個(gè)dex文件
定位:高德地圖
推送:個(gè)推
網(wǎng)絡(luò):OkHttp+HttpClient
圖片加載:Picasso
性能監(jiān)控:聽(tīng)云
視頻聊天:菊風(fēng)
三方登錄/分享:新浪鸵隧,騰訊
支付工具:阿里支付绸罗,微信支付,銀聯(lián)支付
事件訂閱/發(fā)布:EventBus
圖片縮放:ImageViewZoom豆瘫,PhotoView
二維碼掃描:ZXing
數(shù)據(jù)收集:Countly珊蟀,F(xiàn)lurry
語(yǔ)音識(shí)別:百度語(yǔ)音
圖標(biāo)繪制:MPAndroidChart