android – 有没有办法配置gradle来检查strings.xml中的拼写?

我想在使用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

等等

点赞