Java 17 和 Android SDK

问题描述 投票:0回答:1

嗨我想知道Android sdk是否与Java版本17.0.1兼容??

实际上,我正在尝试使用命令行构建一个应用程序...为此,我安装了 Gradle、java,还安装了 Android sdk 以及诸如“命令行工具”、“平台工具”等软件包。 ..

但是当我尝试运行 sdkmanager 时它显示了这个

线程“main”中的异常 java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema 在 com.android.repository.api.SchemaModule$SchemaModuleVersion。(SchemaModule.java:156) 在 com.android.repository.api.SchemaModule.(SchemaModule.java:75) 在 com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) 在 com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) 引起原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ...还有5个

我在网上搜索了一下,发现我必须将我的java版本降级到8....但我不想降级它..

java android command noclassdeffounderror
1个回答
0
投票

您的系统路径上可能有旧版本的 sdkmanager

这是 Android Studio 的问题,长时间后更新应用程序时,

tools/bin
文件夹可能会过时(这是我指的主要 SDK 工具安装文件夹)。

简短简单的解决方案:
从系统路径中删除

ANDROID_HOME/tools/bin

SDK Tools 环境变量页面的一些其他工具(在我的例子中,我使用 Cordova 构建 Android 应用程序)建议将文件夹添加到您的路径中,但我认为外部应用程序应该使用 cmdline-tools 与安卓环境。

因此,将其从路径中删除应该不会产生任何影响。

我的问题在哪里:

.
└── ANDROID_HOME
    ├── build-tools
    ├── cmdline-tools
    |   └── latest
    |       └── bin <- new latest tools
    ├── emulator
    ├── extras
    ├── ndk
    ├── platforms
    ├── platform-tools
    ├── sources
    ├── system-images
    └── tools
        └── bin <- out of date tools

如果您查看

ANDROID_HOME/cmdline-tools/latest/bin
并在文本编辑器中打开 sdkmanager.batavdmanager.bat。我找到了 Java 17 的检查。

if !version! lss 170 if "%SKIP_JDK_VERSION_CHECK%" == "" (
  echo Java version 17 or higher is required.
  echo To override this check set SKIP_JDK_VERSION_CHECK
  goto :eof
)

ANDROID_HOME/tools/bin
文件没有执行此检查,并且仅在 Java 8 上工作。系统路径上有两个具有相同文件名的文件夹,在这种情况下,使用的是旧版本。

我重新安装了 Android SDK、构建工具和 cmdline-tools。等等通过卸载并重新安装。这为我解决了一些其他问题,但无论我重新安装工具多少次,

tools/bin
文件夹都从未更新到最新版本。

解决此问题的更好方法可能是卸载 Android Studio 并删除 ANDROID_HOME 目录。然后重新安装一切。

© www.soinside.com 2019 - 2024. All rights reserved.