我一个月前完成了这个游戏,直到今天一切正常。我在网上得到错误:
odgovorNormalized = Normalizer.normalize(konResenje, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "");
如果我去清单文件并将API级别更改为任何内容,甚至更改为6,我不会再出现错误。直到我在代码中更改内容。
我记得我今天将项目的编码改为拉丁语。我不知道这与此有什么关系。
直到今天,一切正常。
答案 0 :(得分:6)
静态代码分析工具会捕获错误。是的,它会编译,是的,它会运行。是的,它会在运行时在任何具有API<的设备上崩溃。 9。
正确的做法是打开API:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
/* Use Normalizer normally */
} else {
/* Fall back on some default behavior */
}
你可以抑制这样的错误,但要始终确保你先修复它们:
@SuppressLint("NewApi")
public void methodThatUsesNewAPI() {}