我想在使用gradle构建时检查strings.xml以进行拼写检查.由于我们使用持续集成,因此我们需要将其配置为从命令行进行构建,而不仅仅是在
Android Studio中.有办法吗?
PS.我试过了:
lintOptions {
abortOnError false
// check *only* the given issue id's
check 'Typos'
}
strings.xml中:
<resources>
<string name="app_name">Project</string>
<!-- Common Words -->
<string name="test_spelling">sdfsdfdfds</string>
和
./gradlew assembleDebug lint
但一无所获:
:app:lint
Ran lint on variant release: 0 issues found
Ran lint on variant debug: 0 issues found
Wrote HTML report to file:/Users/asmirnov/Documents/dev/src/Project/app/build/outputs/lint-results.html
Wrote XML report to /Users/asmirnov/Documents/dev/src/Project/app/build/outputs/lint-results.xml
我也检查过lint –show:
...
Typos
-----
Summary: Spelling error
Priority: 7 / 10
Severity: Warning
Category: Correctness:Messages
This check looks through the string definitions, and if it finds any words
that look like likely misspellings, they are flagged.
...
PPS.如果我添加另一个规则来检查(检查’错别字’,’TypographyEllipsis’)我正在按预期收到警告(对于TypographyEllipsis),所以一般linting工作.出于某种原因,“错别字”规则不起作用
最佳答案 我目前正在做类似的事情,所以还没有完成我的工作.不确定你是否还有一个答案,就像前一段时间的问题一样.这就是我所拥有的.
你在这里的代码:
lintOptions {
abortOnError false
// check *only* the given issue id's
check 'Typos'
}
应该没事.如果您正在使用它们,您也可以在一种风味中添加它,以便更具限制性.
要从命令行获取报告,您需要执行:
./gradlew lintAssembleDebug
或者你的味道,例如./gradlew lintAssembleMyFlavorDebug
我试图利用lintOptions.check()方法,以编程方式添加我想要的检查,但没有运气.另一种选择是由Jason Atwood描述的here.我正在看这个,添加空白文件:
ext.lintCheckList = [
// Blank default list
] as String[]
到repo,并根据需要替换CI工作中的那个.
希望有所帮助.
更新:
命令不正确.它应该是
./gradlew lintDebug
要么
./gradlew lintMyFlavorDebug
等等