android - 如何在 Android Studio 中检测资源变量拼写错误(例如 : "%1$ s")

标签 android android-studio android-resources android-lint

Android 崩溃通常是由包含 %1$s 的资源引起的,而 %1$s 是预期的。
令我惊讶的是,Android Studio 没有显示这些语法错误:

enter image description here

↑ 上面真正的语法错误是 %1$ s(使应用程序崩溃),而不是 Android Studio 突出显示的省略号。

如何在Android Studio中检查资源变量拼写错误?
我正在寻找 lint --check StringFormatInvalid 的等价物。

上下文:许多半自动语言翻译工具会破坏变量,导致应用程序崩溃。

我试过的方法不起作用:

Android Studio Lint Invalid format string Highlighting level Inspections

最佳答案

在 Intellij 中,可以创建自定义检查。我不确定在 Android Studio 中是否可行。

点击链接: https://www.jetbrains.com/idea/help/creating-custom-inspections.html

编辑:

按照您在下一张图片中看到的链接中的步骤进行操作后,我创建了检查: enter image description here

在下图中,您可以看到检查的基本配置: enter image description here

在接下来的两张图片中,您可以看到变量的设置。 只有使用过的正则表达式还没有准备好。您必须使用(在 $ 和 . 之间是一个空格)为一般变量编写它: enter image description here enter image description here

关于android - 如何在 Android Studio 中检测资源变量拼写错误(例如 : "%1$ s"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759495/

相关文章:

android - 使用 InputMethodManager.showSoftKeyboard() 时如何禁用自动完成/建议

java - 使用 Android 进行音频流转码

android:使用在 MainActivity 的 AsyncTask 中创建的 arrayadapter<Custom object>

android - 如何根据 Android 上的条件动态选择资源?

android - 是否可以通过编程方式更改配置 ui 模式?

android - 我可以自己申请吗?

java - Android Studio,BT套接字空点错误,

java - Android Studio 错误 : "Manifest merger failed: Apps targeting Android 12"

android - 将新 ns 映射到旧 ns

android - 高密度手机默认到哪个drawable文件夹?