React Native Expo eas build -p android java JDK 版本错误

Zac*_*son 3 java android gradle react-native expo

运行eas build -p android结果如下:

stderr] FAILURE: Build failed with an exception.
[stderr] * Where:
[stderr] Build file '/home/expo/workingdir/build/android/app/build.gradle' line: 1
[stderr] * What went wrong:
[stderr] A problem occurred evaluating project ':app'.
[stderr] > Failed to apply plugin 'com.android.internal.application'.
[stderr]    > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
[stderr]      You can try some of the following options:
[stderr]        - changing the IDE settings.
[stderr]        - changing the JAVA_HOME environment variable.
[stderr]        - changing `org.gradle.java.home` in `gradle.properties`.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 40s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Run Code Online (Sandbox Code Playgroud)

我在 expo 托管项目的 android 文件夹中看不到哪里可以升级我的 java jdk 版本,并且当前版本 1.8 似乎没有在任何地方列出。构建在 eas 服务器上运行,因此我怀疑指向本地 JDK 路径是否会执行任何操作。

HK8*_*808 8

我也有同样的错误。以下解决方案为我解决了 Java 11 与 8 的问题,但我现在遇到了另一个错误 - 无法创建任务 ':app:prepareLintJarForPublish'。

在这里查看更多信息。原来eas默认是使用jdk 8。

解决方案:

将其添加到您的 eas.json 文件中

"production": {
  "android": {
    "image" : "latest"
  }
 }
Run Code Online (Sandbox Code Playgroud)