【问题标题】:Why does Android Lint say "Call requires API level 8 (Current min is 8)"?为什么 Android Lint 说“调用需要 API 级别 8(当前最小值为 8)”?
【发布时间】:2013-05-24 20:37:22
【问题描述】:

如果调用所需的API级别高于最低限度,我可以理解,但如果它等于最低限度,为什么会有问题呢?

【问题讨论】:

  • 让我猜你正在使用Android Studio 并看到这个错误?
  • 是的,在 Android Studio 中。
  • 这是一个 Android Studio 错误
  • 好的,我只是要取消警告,谢谢。

标签: android android-studio android-lint


【解决方案1】:

这是 Android Studio 0.1 中的一个错误。它是固定为 0.1.1

查看修复:https://android-review.googlesource.com/#/c/58798/1

【讨论】:

    【解决方案2】:

    我在 Android Studio 中遇到了同样的问题;这不是我在 AS 之前使用的 IntelliJ 的问题。

    为了“修复它”,我只是使用了TargetApi 注释:

    @TargetApi(8)
    

    我只将它添加到我的主要活动中,警告无处不在。

    【讨论】:

    • 太棒了!如果您在Build.VERSION.SDK_INT > n 时有条件地加载一个类,那么将@TargetApi(n) 放在该类上将抑制不需要的红色警告。
    【解决方案3】:

    AndroidManifest.xml中查看uses-sdkandroid:minSdkVersion 的值。确保指定的 sdk 版本的级别等于或高于 8。

    【讨论】:

    • 最低 SDK 级别设置为 8,这就是为什么我不明白为什么它抱怨 API 级别 8 调用。
    • 使用 gradle 构建时,在build.grade 中设置minSdkVersiontargetSdkVersion,而不是在AndroidManifest.xml 中设置<uses-sdk> 元素。 仍然, Android Studio 0.6.1 警告说某些布局资源“需要 API 级别 11(当前最小值为 1)”,即使它设置为 13。
    【解决方案4】:

    Android Studio 有一些 lint 问题,因为我也有同样的问题。该项目仍应建立。如果不只是简单地检查构建版本

    if(Build.VERSION.SDK_INT > Build.VERSION_CODES.ECLAIR_MR1){
        //code goes here
    }
    

    这应该抑制 lint 检查

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2016-12-20
      • 2012-09-14
      • 1970-01-01
      相关资源
      最近更新 更多