我不了解Call或Class Requires API Level 3

时间:2013-12-17 00:27:19

标签: android intellij-idea

我在IntelliJ 13中做了一些Android工作。我已经创建了一个Android测试应用程序,所以我可以开始编写单元测试了。 IntelliJ报告了一个我以前没见过的错误,这个错误阻止代码工作:

  

呼叫需要API级别3(当前最小值为1)

它在类级别也会出现错误:

  

类需要API级别3(当前最小值为1)

有时它会说11级。

enter image description here

3 个答案:

答案 0 :(得分:6)

您需要在AndroidManifest中设置min SDK版本,如

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

答案 1 :(得分:1)

正如Josef所说,您需要增加AndroidManifest.xml文件中指定的最低SDK版本 - 这是您支持的最低Android API版本。您获得的错误消息(“需要API等级11”)意味着您尝试使用的方法或类仅在API 11中引入。有很多方法可以解决这个问题 - 具体来说,support library是一个SDK中包含的许多新功能的官方后端。

如果您计划支持“较旧”设备(Android 2.2和2.3设备),请查看Android Dashboards以选择最低API级别(以及您的设备/用户群覆盖率) - 通常为8或10如果您计划仅支持较新的(Android 4.x)设备,则为14或15。

通常,您已将targetSdkVersion指定为Android的最新版本 - 目前,这是19.您需要更新SDK。

开发者文档有in-depth explanation of what these things mean - 我建议您阅读。

答案 2 :(得分:0)

如果在进行上述更改后仍有问题,请使用File > Invalidate Caches / RestartHere它解释了它的作用。如果你不读它,摘要警告:

  

清理系统缓存还会导致清除本地历史记录。至   避免丢失数据,检查版本控制系统的更改   在使缓存失效之前。