我正在尝试修复forbiddenapis报告的错误。我有那条线:
paramMap.put(Config.TITLEBOOST.toUpperCase(), titleBoost);
因此,它像往常一样被报告为错误。我已经尝试过了:
paramMap.put(Config.TITLEBOOST.toUpperCase(Locale.getDefault()), titleBoost);
然后:
paramMap.put(Config.TITLEBOOST.toUpperCase(Locale.ROOT), titleBoost);
还有那个:
paramMap.put(Config.TITLEBOOST.toUpperCase(Locale.ENGLISH), titleBoost);
但是,它们都没有解决错误:
[forbiddenapis]禁止的方法调用:
java.lang.String#toUpperCase()[使用默认语言环境]
我想念什么?
最佳答案
仔细检查您正在分析的字节码实际上是您的最新生成输出,并且您正在查看的同一行forbiddenapis
是:)。在我看来,您的源代码/字节码/分析不同步-the relevant rule不应在String.toUpperCase(Locale)
上标记错误。
免责声明:我自己没有使用forbiddenapis
---我根据repo和发现的blog post编写了此答案。