Android靜態(tài)代碼分析

Android 靜態(tài)代碼分析

  • Android Studio IDE Inspections

    1. IDE默認集成庙睡,通過IDE下安裝目錄 <android studio path>/bin/inspect.sh 進行執(zhí)行莫其,path需要絕對路徑指定。比如:

      /Applications/Android\ Studio.app/Contents/bin/inspect.sh ~/tw/android/XXX ~/tw/android/XXX/.idea/inspectionProfiles/Project_Default.xml ~/tw/android/XXX/inspect_report -v2 -d ~/tw/android/XXX/host-demo

      在執(zhí)行完成后,可以將inspect_report中的xml結(jié)果舆驶,通過IDE的View Offline Inspections Result…進行加載顯示。

    2. 或者通過Android Studio中的Analyze -> inpsect code執(zhí)行:

      圖一

      可以自定義需要檢測的inpsect的scope而钞,或者export Inspection profile沙廉,通過上述的inspect.sh執(zhí)行。

      inpsect result:

      image-20180623153950310.png

      可以手動導出HMTL或者XML臼节。使用Inspection手動檢查

  • Android Lint

    1. Android lint是通過ADT引入的一個工具撬陵,通過lint --list可以查看當前ADT版本所支持的所有issues(前提需要將~/Library/Android/sdk/tools/bin加入到PATH):

      圖三
    2. 運行./gradlew lint,可以得到對應project的lint report以及具體的issue信息:

      圖四
    3. 配置Android lint网缝,可以通過在build.gradle中添加lintOptions進行配置巨税,具體可通過添加field name或者添加lint.xml文件進行配置,默認加載Project目錄下的lint.xml

      常用配置說明:

      • abortOnError = true粉臊,發(fā)現(xiàn)Error級別Lint問題時會中斷編譯
      • ignoreWarnings = true草添,不檢查Warning級別的Lint問題
      • lintConfig,默認為lint.xml扼仲,指定XML配置文件位置
      • enable远寸,配置要檢查的問題
      • disable,指定不檢查的問題
      • check屠凶,指定所有要檢查的問題而晒,沒有指定的都不檢查
      image.png

      lint也支持自定義rule來檢查,更多關(guān)于lintOptions的使用:

      Writing custom lint rules

      使用lint改進你的代碼

      DSL object for configuration lint options

  • 第三方工具集成阅畴,如Checkstyle倡怎,F(xiàn)indBugs,PMD

    比如Checkstyle插件贱枣,運行其中一個project結(jié)果:

    image.png

繼續(xù)閱讀關(guān)于lint和checkstyle的配置:Android Lint & Checkstyle

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末监署,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纽哥,更是在濱河造成了極大的恐慌钠乏,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件春塌,死亡現(xiàn)場離奇詭異晓避,居然都是意外死亡簇捍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門俏拱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暑塑,“玉大人,你說我怎么就攤上這事锅必∈赂瘢” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵搞隐,是天一觀的道長驹愚。 經(jīng)常有香客問我,道長劣纲,這世上最難降的妖魔是什么逢捺? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮癞季,結(jié)果婚禮上劫瞳,老公的妹妹穿的比我還像新娘。我一直安慰自己余佛,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布窍荧。 她就那樣靜靜地躺著辉巡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蕊退。 梳的紋絲不亂的頭發(fā)上郊楣,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音瓤荔,去河邊找鬼净蚤。 笑死,一個胖子當著我的面吹牛输硝,可吹牛的內(nèi)容都是我干的今瀑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼点把,長吁一口氣:“原來是場噩夢啊……” “哼橘荠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郎逃,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哥童,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后褒翰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贮懈,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡匀泊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了朵你。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片各聘。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖撬呢,靈堂內(nèi)的尸體忽然破棺而出伦吠,到底是詐尸還是另有隱情,我是刑警寧澤魂拦,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布毛仪,位于F島的核電站,受9級特大地震影響芯勘,放射性物質(zhì)發(fā)生泄漏箱靴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一荷愕、第九天 我趴在偏房一處隱蔽的房頂上張望衡怀。 院中可真熱鬧,春花似錦安疗、人聲如沸抛杨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怖现。三九已至,卻和暖如春玉罐,著一層夾襖步出監(jiān)牢的瞬間屈嗤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工吊输, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饶号,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓季蚂,卻偏偏與公主長得像茫船,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子扭屁,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android靜態(tài)代碼分析 [TOC] 最佳項目里面來了很多新的小伙伴透硝,然后每個人的代碼風格還不一樣,雖然有代碼風...
    流水不腐小夏閱讀 2,284評論 0 5
  • 原文地址:https://medium.com/mindorks/static-code-analysis-for...
    小菜鳥程序媛閱讀 2,037評論 1 3
  • 其實疯搅,把一切都放下濒生,也就無所留念。
    花絮1895閱讀 168評論 0 0
  • 1幔欧、愛自己:給自己泡艾草浴罪治,做肩頸丽声,洗頭發(fā),為身體清理排毒觉义,好舒爽雁社!愛自己么么噠! 2晒骇、感謝錢寶寶如此滋養(yǎng)霉撵! 3、...
    張艾雯閱讀 295評論 0 1
  • 開始思考如何給我的第一個學員上課哈洪囤。 首先徒坡,做自我介紹,介紹自己學習瑜伽的經(jīng)歷和瑜伽給我?guī)淼哪男└淖兞鏊酰€有自己的...
    Rebecca小零閱讀 342評論 0 0