当前位置: 首页 > article >正文

Android Studio编译问题

文章目录

  • Gradle
    • JDK版本不兼容

Gradle

JDK版本不兼容

Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8

  • 查看module内gradle文件是否设置jdk版本,如
android {
    compileSdkVersion rootProject.ext.configVersion.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
}
  • 查看Android Studio配置是否与JDK版本一致
    在这里插入图片描述

如果还是报错,可能是Gradle用了系统变量默认配置的JDK版本。

  • 查看电脑已安装的各种JDK版本:
/usr/libexec/java_home -V

输出

    11.0.15 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/xxx/Library/Java/JavaVirtualMachines/corretto-11.0.15/Contents/Home
    11.0.2 (x86_64) "Oracle Corporation" - "Java SE 11.0.2" /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
    1.8.333.02 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_333 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home
/Users/xxx/Library/Java/JavaVirtualMachines/corretto-11.0.15/Contents/Home

安装了JDK11、JDK1.8多版本

  • 查看目前系统变量配置的什么版本:
echo $JAVA_HOME

输出

xxx@xxxiMac ~ % $JAVA_HOME/bin/java -version

java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
  • 查看系统变量配置的JDK路径
xxx@xxxiMac ~ % echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home

发现在编译过程中应该是使用了系统环境变量配置的JDK8。如需要使用JDK11版本,要另在项目中手动指定才能生效。

解决方法

在项目gradle.properties文件中,指定特定JDK,即替换为以上步骤中Android Studio配置的路径

org.gradle.java.home=/Users/xxx/Library/Java/JavaVirtualMachines/corretto-11.0.15/Contents/Home

http://www.kler.cn/a/612127.html

相关文章:

  • 单元测试mock
  • SSE SseEmitter.completeWithError(e) 触发的处理逻辑
  • Android 地区选择器或者其他选择器
  • WHAT - 程序员英语之美式发音学习系列(二)
  • springboot使用阿里限流框架-sentinel
  • C++———— Vector
  • 深入解析 Spring IOC AOP:原理、源码与实战
  • UE4学习笔记 FPS游戏制作17 让机器人持枪 销毁机器人时也销毁机器人的枪 让机器人射击
  • 模拟电子技术-基本放大电路
  • ⑦(ACG-网络配置)
  • RCE学习情况
  • 使用 Node.js 和 163 邮箱发送邮件
  • 详解TCP的四次握手和三次挥手,以及里面每个阶段的状态
  • 北斗导航 | 改进伪距残差矢量的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码
  • 机器翻译和文本生成评估指标:BLEU 计算公式
  • k8s存储介绍(一)configmap
  • Spec2MP:项目管理之项目质量管理
  • 计算机二级WPS Office第十一套WPS演示
  • [微信小程序]对接sse接口
  • docker-实战