我希望在使用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。如果我添加另一个规则来检查(check 'Typos', 'TypographyEllipsis'
)我正在按预期收到警告(对于TypographyEllipsis
),所以通常linting工作。出于某种原因,“错别字”规则不起作用
答案 0 :(得分:1)
我目前正在从事类似工作,因此尚未完成我的工作。不确定是否有答案,就像前一段时间问的那样。这就是我所拥有的。
您在此处的代码:
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[]
到仓库,并根据需要替换为CI作业。
希望有帮助。
更新:
命令不正确。应该是
./gradlew lintDebug
或
./gradlew lintMyFlavorDebug
等
答案 1 :(得分:0)