背景
Android Lint 是Android自帶的代碼檢查工具,它能幫助我們識(shí)別很多潛在的錯(cuò)誤。
Lint 介紹
Android Lint 可以掃描android項(xiàng)目源代碼中的潛在錯(cuò)誤。它既可以作為命令行工具,也可以與Eclipse(如下所述)和Intellij(詳細(xì)信息)集成。體系結(jié)構(gòu)是有意獨(dú)立于IDE的,因此它有望與其他IDE、其他構(gòu)建工具以及持續(xù)集成系統(tǒng)集成。
下面是它查找的錯(cuò)誤類型的一些示例:
- 缺少轉(zhuǎn)換(和未使用的轉(zhuǎn)換)
- 布局性能問題(舊布局工具用于查找的所有問題等)
- 未使用的資源
- 數(shù)組大小不一致(在多個(gè)配置中定義數(shù)組時(shí))
- 可訪問性和國際化問題(硬編碼字符串、缺少內(nèi)容描述等)
- 圖標(biāo)問題(如密度丟失、圖標(biāo)重復(fù)、大小錯(cuò)誤等)
- 可用性問題(如未在文本字段上指定輸入類型)
- 明顯錯(cuò)誤
它可幫助您發(fā)現(xiàn)并糾正代碼結(jié)構(gòu)質(zhì)量的問題,而無需實(shí)際執(zhí)行該應(yīng)用,也不必編寫測試用例。該工具會(huì)報(bào)告其檢測到的每個(gè)問題并提供該問題的描述消息和嚴(yán)重級(jí)別,以便您可以快速確定需要優(yōu)先進(jìn)行哪些關(guān)鍵改進(jìn)。此外,您可以調(diào)低問題的嚴(yán)重級(jí)別,忽略與項(xiàng)目無關(guān)的問題,也可以調(diào)高嚴(yán)重級(jí)別,以突出特定問題。
Lint 工具可檢查您的 Android 項(xiàng)目源文件是否包含潛在錯(cuò)誤,以及在正確性、安全性、性能、易用性、便利性和國際化方面是否需要優(yōu)化改進(jìn)。在使用 Android Studio 時(shí),配置的 Lint 和 IDE 檢查會(huì)在您每次構(gòu)建應(yīng)用時(shí)運(yùn)行。

在命令行執(zhí)行
./gradlew lint
加入僅僅僅僅檢查 buildType=debug ,可以使用:
./gradlew lintDebug
執(zhí)行完畢后,輸入的內(nèi)容如下:

查看報(bào)告
報(bào)告位于:app/build/reports/lint-results.html
它可能長這樣:

接下來
查看報(bào)告,根據(jù)這些警告和提示修復(fù)代碼,改進(jìn)代碼缺陷,提高代碼質(zhì)量。
我們可以將 Lint 工具集成到我們CI過程中去,構(gòu)成研發(fā)體系的一部分。
擴(kuò)展閱讀
我們可能想做一些自定義設(shè)置,可以這么做
def configDir = "${project.rootDir}/config/quality"
def reportsDir = "${project.buildDir}/reports"
android {
lintOptions {
abortOnError true
xmlReport false
htmlReport true
lintConfig file("$configDir/lint/lint.xml")
htmlOutput file("$reportsDir/lint/lint-result.html")
xmlOutput file("$reportsDir/lint/lint-result.xml")
}
}
參考
https://developer.android.google.cn/studio/write/lint.html
https://sites.google.com/a/android.com/tools/tips/lint
http://www.itdecent.cn/p/b4c44e62d652 這篇文章真的很詳細(xì)。