夜阑卧听风吹雨

铁马冰河入梦来

Loading

android studio jdk问题

报错

使用 Terminal 运行命令,报错:

 FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'StringFog'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:8.0.0.
     Required by:
         project :
      > No matching variant of com.android.tools.build:gradle:8.0.0 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.0' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:8.0.0 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0')
          - Variant 'javadocElements' capability com.android.tools.build:gradle:8.0.0 declares a component for use during runtime, and its dependencies declared externally:        
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0')
          - Variant 'runtimeElements' capability com.android.tools.build:gradle:8.0.0 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0')
          - Variant 'sourcesElements' capability com.android.tools.build:gradle:8.0.0 declares a component for use during runtime, and its dependencies declared externally:        
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0')
   > Could not resolve 
   --------------------略

* Try:
> 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.

* Get more help at https://help.gradle.org

BUILD FAILED in 857ms

重点为 Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8

应该是 jdk 版本不对。

但是查资料,在 ide 修改 Gradle 的 jdk 为 11、17 都无效。

解决历程

  1. 在 Terminal 使用命令 java -version 可以显示 jdk 11。但是转念一想我系统变量 JAVA_HOME 配的 1.8,蛮奇怪的,会不会有什么冲突。
  2. 修改系统变量 JAVA_HOME 为 jdk 11 版本,以及 Path 变量里的 bin 路径。
  3. 测试正常
  4. 应用打包会提示 Android Gradle plugin requires Java 17 to run. You are currently using Java 11.
  5. 这次使用 IDE 的设置,打开设置搜索 Terminal,在 Project Setting 里设置终端的环境变量:Environment variables: JAVA_HOME=E:/Program Files/Android/Android Studio/jbr,这个是 ide 自带的 17 jdk。
  6. 命令执行正常。

done.

posted @ 2024-04-19 21:17  二次蓝  阅读(41)  评论(0编辑  收藏  举报