仅从android 0 --min-api 26开始支持Invoke-customs。


431

在我使用构建版本gradle 26之前,但将buildtoolsversion更改为27之后,如下图所示 :error build gradle screenshot


45
不要在屏幕截图/图像上附加代码/错误消息。发布实际(相关)代码+错误消息。
罗伯特

1
当我将内联回调转换为lambda函数时,我开始遇到类似的问题。Intellj在问。但是编译器不喜欢它。
吉利斯·哈斯诺特

4
遗憾的是,OP没有回来并且将答案标记为正确,即使有答案也是如此。实际上,这三个都是,取决于您使用的是Java 7、8还是10。最重要的是,您需要告知构建所使用的语言级别。是的,屏幕上的文字在页面上几乎是不可读的。
Thomas Carlisle

1
那对我没有用。但是将其添加到模块的build.gradle确实可以。参见Galley 12月19日的评论。项目是github.com/jrasor/ftc_5197all2019 ; 模块是TeamCode。
约翰·拉索

Answers:


1537

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

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

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


1
当gradle构建说它在其他模块中失败时,甚至出现了这种情况。如果模块A有声明,但模块B没有声明,有时对我来说它就在A中失败。将其添加到B后,它就不再失败
Patrick

81
Android Studio开发人员需要更改此错误描述。这Error: Invoke-customs are only supported starting with Android O (--min-api 26)什么也没说。非常感谢您分享您的发现。您节省了其他时间。
山谢石

3
在我将apachi commons lang库添加到项目后,我遇到了这个错误。然后在添加以上代码后修复了我的错误。
赛义德Z

3
谢谢,伙计,您节省了我的努力时间。
诺曼·沙科尔

4
在2020
仍将是

47

如果compileOptions不起作用,请尝试此操作

禁用“即时运行”。

Android Studio-> File -> Settings -> Build, Execution, Deployment-> Instant Run->禁用复选框


6
这并且只有这对我有用。非常令人讨厌,因为这似乎是Android Studio中的错误。即时运行是一项必需的功能-任何人都知道如何解决此错误并利用即时运行吗?
AlexVPerl

2
Instant Run令人头疼。我无法计算有多少时间浪费了,因为这对节省时间工具没什么用。我总是最终在所有项目中都禁用它。我认为并不需要那么多。
鲁本Viguera

2
更新到Android Studio 3.4和Gradle 5.1之后,也遇到了同样的问题。禁用Instant Run可以达到目的!谢谢
Henrique

这也只有这个对我有用。这个答案救了我一命。为您投票。
dujianchi

2
此选项在我的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 )
Nikhil Girraj

25

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

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_10
    targetCompatibility JavaVersion.VERSION_1_10

}

7
等待..我们可以针对Java 10开发Android吗?
kassim

1
是@kassim ctrl click版本以查看其他版本
Lucem

17

如果您拥有Java 7,请在您的应用程序级别中包含以下代码段build.gradle

compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.