所以,我有一段看起来像
的代码http://localhost:6405/biprws/raylight/v1/documents/6127/reports/2/elements
但Android Studio向我显示了http://localhost:6405/biprws/raylight/v1/documents/6127/reports/2/elements/<elementID>/dataset
子句的以下警告:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
// Do something
} else {
//Do something else
}
,而if
设置为16。
那么,为什么我会收到此警告,即使Unnecessary; SDK_INT is always >= 21
我最终可能会遇到这个minSdkVersion
子句必须有用的场景(例如16和17 SDK版本)?
答案 0 :(得分:5)
愚蠢的我 - 刚才意识到我也有风味,而且当前的有minSdkVersion = 21
。因此,检查必须保持为具有较低minSdkVersions的其他口味的工作。
此外,这意味着Lint无法检查当前的不同口味和棒。
答案 1 :(得分:0)
Lint现在标记无用的版本检查。让我们说你的
minSdkVersion
曾经是10,你有一些像这样的条件代码:
if (Build.VERSION.SDK_INT >= 14) {
codeRequiresApi14();
}
的更多详情如果您稍后将
minSdkVersion
更改为14或更高,请执行此操作 检查将永远是真实的,是不必要的。 Lint将标记这些 - 并且在Android Studio中有一个快速修复程序来处理它(在...中 以上案例将删除if;如果逻辑被逆转(例如Build.VERSION.SDK_INT < 14
)它会删除代码。