如何在API 17 -Android下使用构建忽略@JavascriptInterface注释

时间:2013-09-25 20:17:57

标签: javascript android api build annotations

@JavascriptInterface注释适用于api 17及以上版本。对于我的项目,无法找到注释,因为我的目标api设置为13:

my project build target

在我的清单中,min sdk是11:

 <uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />

为什么我必须进入项目构建目标(例如,Eclipse中的Project&gt; Properties&gt; Android)并将其更改为API 17+作为分辨率。现在我必须构建针对该SDK,当我真正想要做的是忽略API 17以下的任何注释时。无论如何,我能做到吗?我不喜欢构建针对api 17的想法,然后发现我的代码不会在之前的版本上运行。我的目标是确保我的应用程序可以在api 13到18上运行。如果commonsWare在附近,也许他可以建议我遗漏的东西......

1 个答案:

答案 0 :(得分:1)

  

对于我的项目,无法找到注释,因为我的目标api设置为13:

然后解决此问题,或将android:targetSdkVersion设置得足够低,以致您不需要@JavascriptInterface

  

为什么我必须进入项目构建目标(例如,Eclipse中的Project&gt; Properties&gt; Android)并将其更改为API 17+作为解决方案。

由于API级别17之前不存在@JavascriptInterface,因此在API级别17之前不存在DisplayManager

  

现在我必须针对该SDK进行构建,而我真正想做的就是忽略API 17以下任何内容的注释。

由于您的构建目标不会影响除您可以使用的类,方法,注释等之外的任何内容,因此我无法看到问题。

  

我不喜欢构建针对api 17的想法,然后发现我的代码不会在以前的版本中运行。

Lint一直在报告API级别违规超过一年。只需确保您的android:minSdkVersion设置正确。

毕竟,您已经依赖此,因为您的android:minSdkVersion设置为11,而您的构建目标目前设置为13.这意味着您是计算Lint以报告您使用API​​ Level 12和API Level 13 API的位置,以便您可以正确处理它们。你通过提高构建目标所做的就是提高你依赖Lint的东西的数量。