Android Lint-尽管使用@TargetApi进行了抑制,但NewApi检查仍然失败

Android Lint-尽管使用@TargetApi进行了抑制,但NewApi检查仍然失败,android,eclipse,eclipse-plugin,android-lint,Android,Eclipse,Eclipse Plugin,Android Lint,在一次不成功的Lint运行之后,我试图通过添加@TargetApi(Build.VERSION\u CODES.HONEYCOMB)属性来修复一个错误,但下次运行Lint时,函数仍会显示以下错误: 有人能解释一下吗?对的调用需要API级别11(蜂巢),如消息窗口中所述。该消息还指示最低API级别为9(根据设置) Lint工具警告您正在使用仅在较新的SDK版本(11+)中支持的方法,但已设置为允许应用程序在不支持此方法的设备(SDK版本9和10)上运行 请参阅此处有关NewApi Lint检查的

在一次不成功的Lint运行之后,我试图通过添加
@TargetApi(Build.VERSION\u CODES.HONEYCOMB)
属性来修复一个错误,但下次运行Lint时,函数仍会显示以下错误:

有人能解释一下吗?

对的调用需要API级别11(蜂巢),如消息窗口中所述。该消息还指示最低API级别为9(根据设置)

Lint工具警告您正在使用仅在较新的SDK版本(11+)中支持的方法,但已设置为允许应用程序在不支持此方法的设备(SDK版本9和10)上运行

请参阅此处有关NewApi Lint检查的详细说明:(搜索NewApi)

请谨慎地抑制此类警告,我建议使用以下内容保护代码:

    if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    {
        ...getScaleX()...
    }

相关:&谢谢你的回答。不幸的是,它没有回答我的问题。你的建议正是我一直在使用的。我的问题是为什么Lint检查仍然失败,而不是代码失败。该代码在所有版本的Android上都能完美运行。您是否对相关代码进行了版本检查?例如,类似于
if(android.os.Build.VERSION.SDK\u INT>=Build.VERSION\u CODES.Honeycom)
?如果不是,那么如果您运行的是较早的SDK版本(在设备上),那么我预计代码会失败。是的,正如我的第一条评论所述,我的代码与您的答案完全相同。同样,代码工作正常,应用程序工作正常。只是它不能通过Lint。如果你用
@SuppressLint(“NewApi”)
标记这个方法(与
@TargetApi
相反),或者将
@TargetApi(Build.VERSION\u CODES.HONEYCOMB)
放在类定义的顶部,这种情况还会发生吗?我有类似的代码(使用Android Studio,而不是Eclipse),当我将@TargetApi更改为目标版本时,尽管
minSdkVersion
较低,但Lint消息不再出现。感谢您的帮助。很抱歉,我不得不说我已经放弃了。我的开发机器上的Lint检查行为不稳定。此时,它抱怨中的某些功能注释掉代码。