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

时间:2016-03-17 09:26:04

标签: android gradle android-gradle lint

我希望在使用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工作。出于某种原因,“错别字”规则不起作用

2 个答案:

答案 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)

如果您确实需要Android Studio IDE中默认启用的拼写检查功能,请按照以下步骤进行操作,

  1. 转到Android Studio - &gt; Mac OS X上的首选项(应该是Window - &gt; Windows操作系统上的首选项)
  2. 现在寻找Inspections(如果你无法追踪它,只需使用搜索)
  3. 现在查找Spellings复选框并检查它(这也会检查Typo)
  4. 申请并关闭
  5. 多数民众赞成!!您现在可以在Android Studio中看到任何拼写错误或拼写纠正重点。

    Settings