相关疑难解决方法(0)

如何在Java 9中解决java.lang.NoClassDefFoundError:javax/xml/bind/JAXBException

我有一些代码使用JAXB API类,它们是作为Java 6/7/8中JDK的一部分提供的.当我使用Java 9运行相同的代码时,在运行时我得到错误,指示无法找到JAXB类.

自Java 6以来,JAXB类已作为JDK的一部分提供,为什么Java 9不再能够找到这些类?

java jaxb java-9 java-10 java-11

718
推荐指数
27
解决办法
46万
查看次数

无法安装android-sdk:"java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema"

安装android sdk工具时会发出以下错误:

java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema

为什么会发生这种情况?如何解决?

调试输出:

$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ brew cask install android-sdk
==> Caveats
We will install android-sdk-tools, platform-tools, and build-tools for you.
You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:
  'export ANDROID_SDK_ROOT=/usr/local/share/android-sdk'

This operation may take up to 10 minutes depending on your internet connection.
Please, be patient.

==> Satisfying dependencies …
Run Code Online (Sandbox Code Playgroud)

java android java-9

134
推荐指数
19
解决办法
11万
查看次数

Flutter.io Android许可证状态未知

[!] Android工具链 - 针对Android设备开发(Android SDK 27.0.3)

•Android SDK a ..\Android\sdk•未配置Android NDK位置(可选;对本机分析支持很有用)•平台android-27,构建工具27.0.3•Java二进制文件:C:\ Program Files\Android\Android Studio\jre\bin\java•Java版OpenJDK运行时环境(版本1.8.0_152-release-1024-b02)X And​​roid许可证状态未知.

当我运行Flutter医生时,我收到了Android Sdk的错误,尽管我仍然可以在我的设备上构建/运行.我只是想知道如何解决这个问题.我相信我已经下载了最新版本的android sdk,不知道发生了什么,因为我上周没有这个问题.

新问题

在评论中遵循几个可能的修复后,它导致了一个新问题.我安装了较新版本的android sdk P,8和7以及一个新的jdk10.显然仍然没有足够的更新.

C:\Flutter\flutter>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
Run Code Online (Sandbox Code Playgroud)

C:\ Flutter\flutter> C:\ users\username\appdata\local\android\sdk\tools\bin\sdkmanager.bat --update

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
        ... 5 more
Run Code Online (Sandbox Code Playgroud)

android flutter

32
推荐指数
10
解决办法
3万
查看次数

Android SDK管理器使用Java 9抛出异常

sdk-tools-darwin-4333796 (26.1.1)在运行时使用Java 9 sdkmanager抛出:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
        ... 5 more
Run Code Online (Sandbox Code Playgroud)

java android android-sdk-tools java-9

22
推荐指数
1
解决办法
9384
查看次数

使Android sdkmanager与Java 11一起运行

我在sdkmanager使用Java 11 运行Android时遇到问题(不是Studio,只有SDK工具)。我不想安装JDK 8或类似的东西。有没有办法sdkmanager用JDK 11 修复这个问题?

我已经回答这个问题,但它不提供针对Java 11的命令行修复。还有其他解决方法吗?

android java-11

11
推荐指数
4
解决办法
4571
查看次数

如何配置Unity 2017.4以定位Android并避免在OSX上构建失败?

在使用最新版本的Android Studio(3.1)和Unity(2017.4)安装新的/新系统后,我一直在努力解决几个构建失败问题.失败如:CommandInvokationFailure:无法列出目标平台.请确保android sdk路径是正确的,跨越多个重复项,因为提供的解决方案是解决方法,并且不能很好地解释根问题以及如何在Mac上优雅地解决此问题.

Unity - >首选项 - >外部工具中我已经正确设置Android SDK路径以指向Android Studio安装的路径以及JDK指向JDK 8版本(我知道现在Android工具无法使用Java 9+)但我仍然遇到构建失败.

我正在寻找一个解决方案:

  1. 允许我保留多个java版本(我使用jenv)
  2. 在我的java设置中不会弄乱符号链接
  3. 允许我使用我的android sdk安装(我在Android Studio中使用它)并且不需要我搞砸它(例如降级Android工具),除非正式安装任何缺少的模块

java android unity-game-engine

7
推荐指数
1
解决办法
5003
查看次数

无法执行 apkanalyzer

我正在尝试从命令行apkanalyzer从 Android SDK 工具运行。但是,它不会启动并打印以下异常:

Exception in thread "main" java.lang.IllegalStateException: The tools directory property is not set, please make sure you are executing apkanalyzer. Got /home/user/Programs/android-sdk-linux/tools
    at com.android.tools.apk.analyzer.ApkAnalyzerCli.getAaptInvokerFromSdk(ApkAnalyzerCli.java:266)
    at com.android.tools.apk.analyzer.ApkAnalyzerCli.main(ApkAnalyzerCli.java:123)
Run Code Online (Sandbox Code Playgroud)

我的命令行是:

~/Programs/android-sdk-linux$ tools/bin/apkanalyzer apk summary ~/projects/mservice.apk
Run Code Online (Sandbox Code Playgroud)

ANDROID_SDK_ROOT 设置。

这是我的安装(sdkmanager --list):

Installed packages:=====================] 100% Computing updates...             
  Path                 | Version | Description                    | Location             
  -------              | ------- | -------                        | -------              
  build-tools;28.0.3   | 28.0.3  | Android SDK Build-Tools 28.0.3 | build-tools/28.0.3/  
  build-tools;29.0.2   | 29.0.2  | Android SDK Build-Tools 29.0.2 | build-tools/29.0.2/ …
Run Code Online (Sandbox Code Playgroud)

android android-sdk-tools android-sdk-manager

6
推荐指数
1
解决办法
1213
查看次数

Android Studio:无法使用可执行文件C:\ Program Files\Java\jdk-10\bin\java.exe确定Java版本

我想在我的Android Studio中使用我的JDK 10.我去了Files> Project Structure并指定了我的JDK位置:

C:\Program Files\Java\jdk-10
Run Code Online (Sandbox Code Playgroud)

单击"确定"后,它显示Gradle sync failed一条错误消息:

Could not determine Java version using executable C:\Program Files\Java\jdk-10\bin\java.exe.
Run Code Online (Sandbox Code Playgroud)

我已将JAVA_HOME变量设置为我的jdk和jre文件夹,并将路径变量设置为C:\ProgramData\Oracle\Java\javapath但问题仍然存在.

我也可以使用命令找到Java版本:
"C:\Program Files\Java\jdk-10\bin\java.exe" -version 它给了我正确的版本:

java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
Run Code Online (Sandbox Code Playgroud)

截图:

在此输入图像描述

版本:

操作系统:Windows 10 64位
Android Studio版本:3.1.0.16
JDK版本:10

java android-studio java-10

5
推荐指数
1
解决办法
4553
查看次数

ReactNative can't locate Android SDK

I've followed the installation instructions for ReactNative on the official site but can't get my project to build and install on any device. The issue seems to be that ReactNative can't seem to locate my Android SDK.

If I open the Android specific part of the project in Android Studio I can start the app, so the SDK is properly installed. Maybe related is also that I'm working on a Flutter app simultaneously and Flutter has no problems locating the …

android react-native

5
推荐指数
2
解决办法
5580
查看次数

将我的kivy应用程序与buildozer打包时,如何修复“ java.lang.module.FindException:未找到模块java.se.ee”错误

我正在尝试打包我的Kivy应用程序(python3),但是当我运行命令时buildozer -v android debug看到此错误

# Cwd /home/javier/.buildozer/android/platform/android-sdk
Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.se.ee not found
# Command failed: /home/javier/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager tools platform-tools
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level …
Run Code Online (Sandbox Code Playgroud)

python android kivy buildozer

4
推荐指数
3
解决办法
8486
查看次数

使用 OpenJDK 11 在 MacOS 上接受 Android SDK 许可

我刚刚安装了 Android Studio 并导入了一个项目。但是,我无法构建该项目,因为我显然没有证明我对全能的谷歌接受了相关许可的奉献

> Failed to install the following Android SDK packages as some licences have not been accepted.
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
     platforms;android-28 Android SDK Platform 28
Run Code Online (Sandbox Code Playgroud)

向所有知道的谷歌搜索祈祷之后,我发现一个 shell 脚本sdkmanager安装在一个不相关的位置,必须运行才能接受许可证。克服了最初的信仰测试问题后,我运行脚本并遇到以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 5 mor
Run Code Online (Sandbox Code Playgroud)

我在网上发现很多人有同样的问题。

来自这个问题的最流行的解决方案建议在sdkmanagershell …

java macos android android-sdk-tools android-sdk-manager

4
推荐指数
2
解决办法
1035
查看次数