美文网首页
【flutter填坑】Android Gradle plugin

【flutter填坑】Android Gradle plugin

作者: 咸鱼本鱼丶 | 来源:发表于2022-03-02 09:24 被阅读0次

    Flutter项目在对Android12进行适配时候,修改了SDK,build tools等相关工具版本后,会要求使用Java11进行编译。
    问题是,在更新了jdk后,依然会提示requires Java 11 to run

    What went wrong:
    A problem occurred evaluating project ':app'.
    > 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`.
    

    问题的原因在于,flutter使用的jdk是flutter doctor -v中显示的位置

    在命令行执行flutter doctor -v
    输出结果中:
    Android toolchain - develop for Android devices (Android SDK version 31.0.0)
        • Android SDK at /Users/caoxun/Library/Android/sdk
        • Platform android-31, build-tools 31.0.0
        • Java binary at: /Applications/Android
          Studio.app/Contents/jre/Contents/Home/bin/java
        //只有这里显示是java 11才有效。如果这里是1.8jdk,那么别的地方配置是对flutter无效的。
        • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
        //省略
    

    其中的Java binary at才是指向flutter使用的jdk,它可能与系统中配置的JAVA_HOME并不是同一个路径。

    对于使用jenkins等服务器打包脚本的情况来说,问题也是同样的。服务器上可能有多个jdk配置,但真正对flutter生效的依然是flutter doctor -v中显示的路径位置。所以需要对它进行更新或配置。

    相关文章

      网友评论

          本文标题:【flutter填坑】Android Gradle plugin

          本文链接:https://www.haomeiwen.com/subject/gwjsrrtx.html