Java 主版本53比52更新,52是此编译器支持的最高主版本。安卓工作室

Java 主版本53比52更新,52是此编译器支持的最高主版本。安卓工作室,java,android,Java,Android,我编译时收到一条警告,它告诉我: > Task :app:compileDebugJavaWithJavac warning: C:\Users\bleuc\AppData\Local\Android\Sdk\build-tools\30.0.1\core-lambda- stubs.jar(java/lang/invoke/LambdaMetafactory.class): major version 53 is newer than 52, the highest major ve

我编译时收到一条警告,它告诉我:

> Task :app:compileDebugJavaWithJavac
warning: C:\Users\bleuc\AppData\Local\Android\Sdk\build-tools\30.0.1\core-lambda- 
stubs.jar(java/lang/invoke/LambdaMetafactory.class): major version 53 is newer than 52, the highest 
major version supported by this compiler.
It is recommended that the compiler be upgraded.
C:\Users\bleuc\AppData\Local\Android\Sdk\build-tools\30.0.1\core-lambda- 
stubs.jar(java/lang/invoke/LambdaMetafactory.class): major version 53 is newer than 52, the highest 
major version supported by this compiler.
1警告

我如何解决这个问题?我正在使用android studio

在我的模块中:应用程序

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
我知道53是java 9,所以我试着撅嘴说1_9,但它显示了很多错误


起来!我不知道如何在Android studio上纠正这个问题,让我们以Windows为例,如果您的操作系统的JRE是Java 8(52),而您的程序是用Java 14(58)编写的,那么您将面临类似的错误。但是,如果指定使用JDK14二进制文件运行的程序,它将正常运行

简而言之,检查您的系统默认JRE是什么,如果它比您用于编译的JRE旧,则会出现此错误。请注意,您可能不会在IDE中遇到任何问题,因为您将IDE设置为使用较新版本的JRE


请确保将.jar文件与支持的JRE正确关联,以便为您提供正确的JRE来运行可执行文件。

好吧,我在
build.gradle
中更新了我的buildToolsVersion(应用程序级别,例如Module:YourApp.app)“30.0.2”,并消除了警告

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "com.app"
        minSdkVersion 20
        targetSdkVersion 30
        versionCode 1
        versionName "0.0.1"
    }

    ...
}

为什么它不更新自己。。。。我的jdk在android文件夹中,这也是android希望我做的事情。U_UYou无法自动更新Java的主要版本,因为它涉及语言或编译器本身的更改,因此可能会给部署过程带来巨大问题。但是,您可以接收累积更新,如Java8_u260到Java8_u261。主要修订必须手动更新。如果我的答案能解决你的问题,请将它标记为已接受(在我的答案左边打勾),我很感激。问题是我不知道如何做,我想我已经开始理解了。所以我需要安装Java9(53)??对,或者任何更新的版本。另一种方法是使用Java 8重新编译您的项目,并且您不需要安装新的JDK,这仅在假设您不使用任何Java 9功能的情况下是可能的。对于那些(像我一样)不知道什么是
buildToolsVersion
-它是在
app
目录顶部的
build.gradle
文件中定义的属性。androidstudio甚至很好地强调了这一点,提醒大家,这个值可以增加,并建议用最新的可用版本替换“showcontextactions”。