火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 423|回复: 0
打印 上一主题 下一主题

[安卓] java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool ...

[复制链接]

35

主题

364

帖子

2838

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2838
跳转到指定楼层
楼主
发表于 2024-3-9 19:21:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
前段时间封装一个视频库的时,在虚拟机上“雷电模拟器” Android9.0 上能正常编译,但是到真机上测试时需要使用V2签名,开启后遇到了以下问题,
今天问了一下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有关,尝试着设置为真,没想到问题解决了




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-3 23:21 , Processed in 0.085177 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表