草庐IT

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

beita08 2024-03-13 原文

〇、出现问题

今天把Android Studio升级到最新版本,并更新最新的SDK:

创建新项目后出现,构建时直接出现如下错误:

An exception occurred applying plugin request [id: 'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`.

以上描述是说Gradle插件需要Java 11 ,而我现在使用的是Java 8。

看了下最新项目的Gradle版本已经是7.0.2:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip

Gradle插件版本是7.0.3:

classpath "com.android.tools.build:gradle:7.0.3"

方法一:降低Gradle版本

出现这个问题,我的第一反应是:既然Gradle 7.X报错,那就降低Gradle版本。找到不久之前创建的可以成功编译的项目(https://github.com/beita08/Demo210712Git),对比两个新项目的不同之处,进行修改。

1、Gradle版本改为 6.7.1:

#distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

2、Gradle插件版本改为 4.2.2:

//classpath "com.android.tools.build:gradle:7.0.3"
classpath "com.android.tools.build:gradle:4.2.2"

3、修改settings.gradle文件:

根据新的提示信息对比新旧项目的settings.gradle文件,删除settings.gradle文件中的dependencyResolutionManagement方法:

/*dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}*/
rootProject.name = "Demo211204"
include ':app'

4、修改项目下的build.gradle文件:

在项目下的 build.gradle文件中添加 allprojects{} 闭包,最后 build.gradle文件应该是这样:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        //classpath "com.android.tools.build:gradle:7.0.3"
        classpath "com.android.tools.build:gradle:4.2.2"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

具体修改我放在这个项目里了:GitHub - beita08/Demo211204Gradle7.0: 新项目Gradle升级至7.0.2,Gradle插件升级至7.0.3后,出现的问题处理。

以上4步修改完成后,再次构建项目即可成功。

方法二:修改IDE配置

第一种方法虽然可以临时解决问题,但是随着以后版本升级这必然不是长久之策,详细看最初的报错信息,我们还可以通过修改IDE配置中的Gradle JDK版本来解决此问题。

依次点开 File | Settings | Build, Execution, Deployment | Build Tools | Gradle,修改Gradle JDK 为 JDK(11)即可。

以上修改完成后,可以查看 .idea/gradle.xml 文件里的gradleJvm配置已经由1.8修改为11了:

需要说明的是:

  1. 最新版的Android Studio默认就包含JDK 11(在Android Studio 安装目录的jre目录下),所以无需我们进行安装。
  2. 此处配置的Gradle JDK为 Gradle 依赖的 Java 版本,并非 Android Studio 项目依赖的Java版本。

方法三:升级本地JDK版本

Java 8 虽然是一个经典版本,但是 Java 17 LTS 已于2021年9月发布了,Java 11 也已经算不上什么新版本了,安装更新的Java版本也慢慢变得势在必行了。另外,升级本地JDK后记得修改环境变量。

具体的升级方法见:Java 8(JDK 1.8)升级更新至 Java 11(JDK 11)/ Java 17(JDK 17)LTS_beita08的博客-CSDN博客

JDK升级完成后,在File | Settings | Build, Execution, Deployment | Build Tools | Gradle 中下拉 Gradle JDK 选项,即可看见检测到新的JDK:

 选择JDK 17 后应用确定,再次构建项目即可成功。

个人也最推荐第三种方法,问题解决的更为彻底。

有关Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.的更多相关文章

  1. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  2. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  3. ruby - rails 3.2.2(或 3.2.1)+ Postgresql 9.1.3 + Ubuntu 11.10 连接错误 - 2

    我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat

  4. ruby-on-rails - Rails 2.3.11 DateTime BigDecimal 精度 - 2

    我目前有一个运行Ruby1.8.7和Rails2.3.2的RubyonRails项目我有一些从数据库中读取数据的单元测试,特别是两个连续项目的日期时间列,这两个项目应该相隔24小时。在一项测试中,我将项目2的日期时间设置为与项目1的日期时间相同。当我执行断言以确保两个值相等时,测试在rails2.3.2下工作正常。当我升级到rails2.3.11时,测试失败显示两次之间的差异将关闭并出现以下错误:expectedbutwas.这两个版本的rails中似乎存在浮点转换问题。如何解决float问题? 最佳答案 这也发生在我身上,我最终这

  5. Win10 / 11新电脑最简单跳过联网激活和使用本地账户登录方法 - 2

    跳过联网激活:OOBE界面直接按Ctrl+Shift+F3进入审核模式。这样就可以直接进入系统进行一些硬件测试等,而不用联网激活导致新机无法退货。需要注意的是,在审核模式下进行的一些操作都会保留,并不会在退出后自动还原!安装的软件在正常开机进系统后还会看见!如果电脑确实没连互联网又不想强行跳过OOBE(网上很多教程会叫你直接结束OOBE进程,但这是不推荐的,因为一些厂商自带优化程序和系统初始化设置在后面都会应用,对于笔记本跳过的话你会发现驱动和内置应用都没有装上。其实这部分脚本就在系统盘的Recovery隐藏文件夹下),可以参考以下方式:https://www.landiannews.com/

  6. ruby-on-rails - 在 El Capitan 上安装 Rails 时出现 -lgmp 错误的库未找到(Mac OS 10.11.1 (15B42)) - 2

    在使用Rubyv2.2.2的ElCapitan(MacOSX10.11.1)上安装Rails时,出现以下错误:ERROR:Errorinstallingnokogiri:ERROR:Failedtobuildgemnativeextension./Users/jon/.rvm/rubies/ruby-2.2.2/bin/ruby-r./siteconf20151117-26799-ux15fd.rbextconf.rb--use-system-librariescheckingiftheCcompileraccepts...***extconf.rbfailed***Couldnotc

  7. ruby-on-rails - Rails 3.2.11 突然需要重启到 'acknowledge' Controller 有什么变化吗? - 2

    标题说明了一切。请注意,这不是模型或初始值设定项的更改。我可以删除Controller中的一个实例变量(例如,@user),然后重新加载一个View,它会工作-直到我重新启动服务器,在这种情况下它会提示变量为nil。我正常工作,然后切换到一组完全不同的Controller和View上工作,现在它无缘无故地发生了。应用处于开发环境中。development.rb内容:Dashboard::Application.configuredoconfig.cache_classes=falseconfig.whiny_nils=trueconfig.consider_all_requests_l

  8. ruby - 使用 ruby​​ 1.9.3 在 Ubuntu 11.10 上安装 ruby​​-rvm - 2

    rvm通过以下方式正确安装:sudoapt-get安装ruby​​-rvm当我尝试安装ruby​​1.9.3时出现这些错误?anthony@SnakeDoc:~$rvminstall1.9.3mkdir:cannotcreatedirectory`/usr/share/ruby-rvm/gems/ruby-1.9.3-p0':PermissiondeniedInstallingRubyfromsourceto:/usr/share/ruby-rvm/rubies/ruby-1.9.3-p0,thismaytakeawhiledependingonyourcpu(s)...ruby-1.

  9. ruby - 安装 libv8 3.11.8.3 时出错 - 2

    我正在运行全新安装的OSX10.9Mavericks和XCode5.0.1。当我尝试在我的项目中运行bundleinstall时,它无法安装libv8gem。这是输出:ERROR:Errorinstallinglibv8:ERROR:Failedtobuildgemnativeextension./Users/user1/.rvm/rubies/ruby-1.9.3-p448/bin/rubyextconf.rbcreatingMakefileConfiguredwith:--prefix=/Applications/Xcode.app/Contents/Developer/usr--

  10. ruby-on-rails - 无法在 OSX 10.11.3 上安装 Puma gem - 2

    我刚刚重新格式化我的MacBook,然后尝试克隆我的Rails项目。当我执行bundleinstall时,Pumagem失败。当我运行geminstallpuma-v'2.13.4'时,出现此错误:Fetching:puma-2.13.4.gem(100%)Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingpuma:ERROR:Failedtobuildgemnativeextension./Users/zulhilmi/.rvm/rubies/ruby-2.2.0/bin/ruby-r./sitec

随机推荐