【问题标题】:Invoke-customs are only supported starting with android 0 --min-api 26 [closed]仅从 android 0 --min-api 26 [关闭] 开始支持调用自定义
【发布时间】:2020-09-25 22:21:10
【问题描述】:

在我使用构建版本 gradle 26 之前,但是 像这张图片一样将 buildtoolsversion 更改为 27 后

我最近使用的是 android studio 4.2.2 我更新了所有依赖项 和

      sourceCompatibility JavaVersion.VERSION_1_10
      targetCompatibility JavaVersion.VERSION_1_10

compileOptions {
           sourceCompatibility kotlin_version
           targetCompatibility kotlin_version
         }

更新后出现此错误,请帮忙

错误: 错误构建gradle屏幕截图

【问题讨论】:

  • 请勿附上带有代码/错误消息的屏幕截图/图像。发布实际(相关)代码+错误消息。
  • 当我将内联回调转换为 lambda 函数时,我开始遇到类似的问题。 Intellj 在问它。但是编译器不喜欢它。
  • 很遗憾 OP 没有回来并将答案标记为正确,即使有一个答案。实际上,这三个都是,取决于您使用的是 java 7、8 还是 10。底线是,您需要告知构建您使用的是什么语言级别。是的,页面上的屏幕截图几乎不可读。
  • 这对我不起作用。但是将它添加到模块的 build.gradle 确实有效。见 Galley 12 月 19 日的评论。项目是github.com/jrasor/ftc_5197all2019;模块是 TeamCode。

标签: android android-studio android-gradle-plugin


【解决方案1】:

经过数小时的努力,我通过在 app/build.gradle 中包含以下内容解决了这个问题:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

https://github.com/mapbox/mapbox-gl-native/issues/11378

【讨论】:

  • 当 gradle build 说它在另一个模块中失败时,情况似乎就是这样。如果模块 A 有声明但 B 没有,有时对我来说它在 A 中失败。在我将它添加到 B 后它不再失败
  • Android Studio 开发者需要更改此错误描述。这个Error: Invoke-customs are only supported starting with Android O (--min-api 26) 什么也没说。非常感谢您分享您的发现。您节省了其他人的时间。
  • 在我将 apachi commons lang 库添加到项目后,我遇到了这个错误。然后在添加上面的代码后修复了我的错误。谢谢。
  • 2020 年仍然实际。
  • 2021 年仍在发生
【解决方案2】:

如果 compileOptions 不起作用,试试这个

禁用“即时运行”。

Android Studio -> 文件 -> 设置 -> 构建、执行、部署 -> 即时运行 -> 禁用复选框

【讨论】:

  • 这个,只有这个对我有用。非常烦人,因为这似乎是 Android Studio 中的一个错误。即时运行是一项必需的功能 - 有人知道如何解决此错误并使用即时运行吗?
  • Instant Run 令人头疼。我无法计算我损失了多少时间,因为这对节省时间的工具没有多大用处。我总是在我的所有项目中禁用它。我认为不需要那么多。
  • 更新到 Android Studio 3.4 和 Gradle 5.1 后遇到同样的问题。禁用 Instant Run 就成功了!谢谢
  • 此选项在我的 Android Studio 中不可用。详细信息 - (Android Studio 3.5.1 Build #AI-191.8026.42.35.5900203,于 2019 年 9 月 26 日构建 JRE:1.8.0_202-release-1483-b03 amd64 JVM:JetBrains sro Windows 10 10.0 的 OpenJDK 64 位服务器 VM )
【解决方案3】:

在我的情况下,错误仍然存​​在,因为我的系统使用了升级的 Java。 如果您使用的是 Java 10,请修改 compileOptions:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_10
    targetCompatibility JavaVersion.VERSION_1_10

}

【讨论】:

  • 等等.. 我们可以将 Java 10 用于 Android 开发吗?
  • 是的@kassim ctrl click这个版本看其他版本
【解决方案4】:

如果你有 Java 7,那么在你的应用级 build.gradle 中包含以下 sn-p :

compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}

【讨论】:

  • 还需要根据报错的min api设置minSdkVersiontargetSdkVersionbuild.gradle : defaultConfig { applicationId "com.mypack.myapp" minSdkVersion 26 targetSdkVersion 29 versionCode 1 versionName "1.0" ... }
  • 对 Java 8 使用相同的解决方案,更改为:VERSION_1_8。
  • compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 去 build.gradle 添加这个文件
猜你喜欢
  • 2020-03-11
  • 2019-09-12
  • 2020-06-25
  • 1970-01-01
  • 2021-04-26
  • 2019-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多