Lint是Android Studio提供的一個代碼靜態(tài)掃描工具,可以分析出項目中潛在的bug舶替。
Lint配置
在Android Studio中通過Settings>Editor>Inspections令境,可以查看Lint的配置,并且可以修改其等級和作用范圍顾瞪。
Lint執(zhí)行
1舔庶、在構(gòu)建時執(zhí)行
在build.gradle文件中添加lintOptions
android {
lintOptions {
// true--關(guān)閉lint報告的分析進度
quiet true
// true--錯誤發(fā)生后停止gradle構(gòu)建
abortOnError false
// true--只報告error
ignoreWarnings true
// true--忽略有錯誤的文件的全/絕對路徑(默認是true)
absolutePaths true
// true--檢查所有問題點抛蚁,包含其他默認關(guān)閉項
checkAllWarnings true
// true--所有warning當做error
warningsAsErrors true
// 關(guān)閉指定問題檢查
disable 'TypographyFractions','TypographyQuotes'
// 打開指定問題檢查
enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
// 僅檢查指定問題 check 'NewApi', 'InlinedApi'
// true--error輸出文件不包含源碼行號
noLines true
// true--顯示錯誤的所有發(fā)生位置,不截取
showAll true
// 回退lint設置(默認規(guī)則)
lintConfig file("default-lint.xml")
// true--生成txt格式報告(默認false)
textReport true
// 重定向輸出惕橙;可以是文件或'stdout'
textOutput 'stdout'
// true--生成XML格式報告
xmlReport false
// 指定xml報告文檔(默認lint-results.xml)
xmlOutput file("lint-report.xml")
// true--生成HTML報告(帶問題解釋瞧甩,源碼位置,等)
htmlReport true
// html報告可選路徑(構(gòu)建器默認是lint-results.html )
htmlOutput file("lint-report.html")
// true--所有正式版構(gòu)建執(zhí)行規(guī)則生成崩潰的lint檢查吕漂,如果有崩潰問題將停止構(gòu)建
checkReleaseBuilds true
// 在發(fā)布版本編譯時檢查(即使不包含lint目標)亲配,指定問題的規(guī)則生成崩潰
fatal 'NewApi', 'InlineApi'
// 指定問題的規(guī)則生成錯誤
error 'Wakelock', 'TextViewEdits'
// 指定問題的規(guī)則生成警告
warning 'ResourceAsColor'
// 忽略指定問題的規(guī)則(同關(guān)閉檢查)
ignore 'TypographyQuotes'
}
}
xmlReprt true:會把結(jié)果生成為一個html尘应,在buidl>outputs目錄下
check ‘NewApi’:可以指定檢查的配置名稱
2惶凝、選中文件后右擊Analyze>Inspect code,對選中的文件執(zhí)行l(wèi)int掃描
還可以選擇檢查的范圍和檢測配置
3犬钢、選中文件后右擊Analyze>Run Inspection by name苍鲜,對選中的文件指定特定的掃描規(guī)則。
4玷犹、通過指令來執(zhí)行
配置lint檢查
1混滔、java代碼中通過添加注解@SuppressLint來禁用lint檢查
@SuppressLint("NewApi")
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
...
}
2、在布局文件中設置
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="UnusedResources">
添加tools:ignore屬性設置歹颓,來靜止lint檢查
常用的Lint檢查
Unused resources : 檢查未使用的資源
相關(guān)資料
https://developer.android.com/studio/write/lint.html
http://www.carrotsight.com/2016/01/29/%E6%B5%85%E8%B0%88Android%E8%87%AA%E5%AE%9A%E4%B9%89Lint%E8%A7%84%E5%88%99%E7%9A%84%E5%AE%9E%E7%8E%B0%20%EF%BC%88%E4%B8%80%EF%BC%89.html