Android崩溃通常是由包含%1$ s
的资源引起的。%1$s
。{
令我惊讶的是,Android Studio没有显示这些语法错误:
↑上面的真正语法错误是%1$ s
(使应用程序崩溃),而不是Android Studio突出显示的省略号。
如何在Android Studio中检查资源变量拼写错误?
我正在寻找相当于lint --check StringFormatInvalid
。
背景:许多半自动语言翻译工具会破坏变量,导致应用程序崩溃。
答案 0 :(得分:3)
可以创建自定义检查。我不确定Android Studio是否可行。
点击链接: https://www.jetbrains.com/idea/help/creating-custom-inspections.html
编辑:
在接下来的两张图片中,您可以看到变量的设置。
只有使用过的正则表达式才准备就绪。你必须使用(在$和。之间是一个空格)为一般变量写它:
答案 1 :(得分:2)
strings.xml
和<string>
之间</string>
中的所有内容都只是Android studio和lint的字符串。它不会识别语法错别字。语法错误/拼写错误意味着代码错误,而不是字符串。您需要确保这些是您自己编写的,或者创建自己的脚本以在string.xml
文件上执行这些检查。没有内置机制来识别字符串中的代码,然后检查其中的语法错误。
带有省略号的突出显示是因为它是语法(优化)错误。 如果您在strings.xml
中出现拼写/语法错误,则会突出显示。以下示例:
但是,如果您打算将格式/代码作为字符串放入,则需要自行处理或使用您需要自己编写的自定义脚本。或者正如 @Rüdiger在对该问题的评论中所提到的那样,您可以编写单元测试用例来检查strings.xml
中字符串的完整性和完整性。