@JavascriptInterface注释适用于api 17及以上版本。对于我的项目,无法找到注释,因为我的目标api设置为13:
在我的清单中,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在附近,也许他可以建议我遗漏的东西......
答案 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的东西的数量。