apk分析利器之ClassyShark分析
大小:0.6 MB 人氣: 2017-10-12 需要積分:1
標(biāo)簽:classyshark(1813)
前言我們薄荷技術(shù)部有個(gè)規(guī)定,除了每周三的「技術(shù)之夜」之外,每周都要至少寫一篇技術(shù)分享,因此我們技術(shù)部每個(gè)人都有自己的博客。至于我們Android內(nèi)部,為了鼓勵我們團(tuán)隊(duì)每個(gè)人堅(jiān)持產(chǎn)出高質(zhì)量的博客,我跟他們說過不錯的文章會考慮推到我的公眾號上,利用我的資源給他們做點(diǎn)推廣,增加點(diǎn)流量,只希望能鼓勵他們繼續(xù)堅(jiān)持這個(gè)好習(xí)慣。
今天這篇文章是我們團(tuán)隊(duì)一位高級Android工程師分享的,我們團(tuán)隊(duì)每個(gè)人跟我?guī)缀醵加悬c(diǎn)故事。這哥們是我粉絲,當(dāng)時(shí)看到我的招聘貼毫不猶豫投簡歷過來了,經(jīng)過兩輪面試拿到了offer,事后提離職時(shí)原公司為了留住他給漲了比薄荷稍高的薪水,但是他還是毅然決然選擇了薄荷,一直到現(xiàn)在干的很出色,現(xiàn)在已經(jīng)成長為一塊業(yè)務(wù)的負(fù)責(zé)人,關(guān)鍵跟一群靠譜的小伙伴一起工作很快樂。
這里順便吐槽一句,很多公司非要等到員工提離職才給漲薪水,真是傻逼的做法,心涼了,一切也都晚了!
他的網(wǎng)絡(luò)常用id:「w4lle」
GitHub: https://github.com/w4lle
個(gè)人博客: http://w4lle.github.io/
這篇文章我覺得很不錯,推薦給大家,大家可點(diǎn)擊「閱讀原文」跳轉(zhuǎn)到原博客,以下是文章內(nèi)容:
背景
對于一個(gè)感興趣的android非開源項(xiàng)目,通常使用逆向工程查看apk中的內(nèi)容,俗稱反編譯。工具大概包括dex2jar、JD-GUI、apktool、procyon,這些工具使用起來相對比較麻煩,如果我們只想知道該項(xiàng)目的基本框架、使用到哪些開源項(xiàng)目的話,那么就有些浪費(fèi)時(shí)間。
對于一些大廠的項(xiàng)目,我們還比較關(guān)心的是用到了哪些新的框架和技術(shù),對于新技術(shù)的流行程度和使用普遍程度有個(gè)比較好的把握,指導(dǎo)是否需要進(jìn)行深度的使用學(xué)習(xí)。比如最近的比較流行的rxjava,熱更新技術(shù)等等。
ClassyShark
ClassyShark是Google發(fā)布的一款可以查看Android可執(zhí)行文件的瀏覽工具,支持.dex, .aar, .so, .apk, .jar, .class, .xml 等文件格式,分析里面的內(nèi)容包括classes.dex文件,包、方法數(shù)量、類、字符串、使用的NativeLibrary等。
下載鏈接:https://github.com/google/android-classyshark
使用方法
打開apk文件java -jar ClassyShark.jar -open
具體使用
以美團(tuán)項(xiàng)目為例,讓我們看看能得到什么有用的信息
java -jar ClassyShark.jar -open ~/Downloads/group-351_3-meituan_.apk

美團(tuán)項(xiàng)目中使用了MultiDex,并且classes.dex文件有3個(gè),說明方法數(shù)肯定非常多。
美團(tuán)的編譯版本非常新, 緊跟時(shí)代, 23版本(Android 6.0)。
并且TargetSdkVersion也是23版本,緊跟技術(shù)方向。
最低版本是16(Android 4.1), 4.1以下的手機(jī)無法運(yùn)行。
而且有好多的so庫,有美團(tuán)自己的,也有好多是第三方的庫。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
