递归火山软件开发平台

标题: java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool ... [打印本页]

作者: xqnh520    时间: 2024-3-9 19:21
标题: java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool ...
前段时间封装一个视频库的时,在虚拟机上“雷电模拟器” Android9.0 上能正常编译,但是到真机上测试时需要使用V2签名,开启后遇到了以下问题,
(, 下载次数: 3) 今天问了一下GPT。告知是以下原因
  1. 当您遇到“java.lang. exe”文件时。UnsupportedClassVersionError '提到' com/android/apksigner/ApkSignerTool已被最新版本的Java Runtime编译',这表明用于编译程序的Java版本与系统上安装的版本之间存在兼容性问题。这里,' class file version 53.0 '对应于Java 9, ' versions up to 52.0 '对应于Java 8。这个错误告诉你' ApkSignerTool '至少需要Java 9才能运行,但你的系统目前使用的是Java 8或更早的版本。要解决这个问题,您有两个选择:1。**升级您的Java版本**:您将需要安装一个与用于编译' ApkSignerTool '的Java版本兼容或更新的Java版本(在这种情况下,至少是Java 9)。以下是在不同操作系统上执行此操作的一般方法:- **Windows/Linux**你可以从[Oracle官方网站](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)下载最新的Java开发工具包(JDK),或者使用像Ubuntu上的“apt”或macOS上的“brew”这样的软件包管理器。- **macOS**:除了从Oracle下载,你也可以使用' brew '来安装Java: ' brew install Java '安装后,你可能需要设置你的' JAVA_HOME '环境变量指向新的JDK安装,并更新你的' PATH '变量包括新的JDK的' bin '目录。2. **使用Docker容器**:如果无法在系统上升级Java,或者需要使用多个Java版本,另一种方法是使用Docker。您可以创建或使用安装了所需Java版本的现有Docker映像。此方法允许您在一个隔离的环境中运行' ApkSignerTool ',而不会影响系统的其余部分。这里有一个基本的例子,说明如何使用Docker运行命令,假设你有一个正确的Java版本的Docker映像:' ' ' bash Docker run——rm -v $(pwd):/work -w /work openjdk:9 Java com/android/apksigner/ApkSignerTool ' ' '如果你在当前目录以外的目录下工作,请记住将' $(pwd) '替换为您本地目录的路径。升级您的Java版本或使用Docker容器应该帮助您克服' UnsupportedClassVersionError '并成功运行' ApkSignerTool '。
复制代码
试着更换了一下JDK版本,依然没有解决。后来想了一下是不是应该和DEX8有关,尝试着设置为真,没想到问题解决了









欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4