不必要; SDK_INT总是> = 21,而我的minSdkVersion是16

时间:2017-06-22 08:47:29

标签: android android-studio sdk

所以,我有一段看起来像

的代码
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版本)?

2 个答案:

答案 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)它会删除代码。

enter image description here

Obsolete SDK_INT Checks

的更多详情