java - Java 版本的 ApkSignerTool 问题
问题描述
我在 Xamarin(在 Visual Studio 2019 中)构建了我的第一个应用程序,我想将它部署到我的 android 手机上。(实际上,我真的不想公开该应用程序 - 只是我的手机现在就可以了。我只是不想根它。)
我遵循了这些指南:
- https://docs.microsoft.com/de-de/xamarin/android/deploy-test/release-prep/index?tabs=windows
- https://docs.microsoft.com/de-de/xamarin/android/deploy-test/signing/index?tabs=windows
但是一旦归档过程完成,并且我被要求输入我之前定义的“签名身份”的密码,我就会收到以下错误:
签名包失败。java.lang.UnsupportedClassVersionError: com/android/apksigner/ApkSignerTool 已由更新版本的 Java Runtime(类文件版本 53.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本
我尝试安装各种 Java 版本(目前我在“Java 8 Update 241”和“JDK 13.0.2”)并确保我的 PATH 变量中只有一个 Java 条目指向当前版本。
但它不会改变任何东西,我没有想法,我希望这里有人可以帮助我。
非常感谢您提前抽出时间!本
解决方案
我遇到了同样的问题。我解决了它删除版本 30.0.0 (rc2) 的 android 构建工具并仅保留版本 28.0.3。可能是构建工具 30 和使用 JDK 1.8 的最新版本 Xamarin 的问题。我还将平台工具更新到版本 29.0.6
推荐阅读
- html - 在仅使用 CSS 离开页面之前单击链接时如何淡出整个页面?
- reactjs - 在 asp.net 核心项目中使用 react js 有什么好处?
- c++ - gmplib 防止使用断点进行调试
- javascript - 如何使用两个按钮在两个框之间移动文本?
- xcode - 在 AppKit 中为 macOS SwiftUI 应用程序设置主窗口标题?
- react-testing-library - React 测试库:在 TestId 元素内获取子输入
- python - 引发 ValueError 后继续执行
- java - 如何覆盖 Spring Boot RequestMappingHandlerMapping?
- go - Grafana Dashboard 根据变量值显示/隐藏行
- javascript - 在已运行的 lightGallery 实例中添加/编辑选项