相关疑难解决方法(0)

无法使用Java 9运行sdkmanager --list(Android SDK)

我下载并安装了:

  • JDK(jdk-9.0.1_osx-x64_bin.dmg从Oracle)在这里
  • Android的SDK( sdk-tools-darwin-3859397.zip)从谷歌在这里.

配置PATH变量后,我尝试运行sdkmanager,它取代了android管理SDK组件的命令.但是,它失败了,如下所示:

$ sdkmanager --list
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.SdkManagerCli.main(SdkManagerCli.java:117)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
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版本:

$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何修复它而不回到Java 8?

相关问题

  • 无法安装android-sdk
    • 这篇文章提出了类似的问题.但是,帖子已经关闭,唯一的答案就是回到Java 8.

java android android-sdk-tools android-sdk-manager java-9

79
推荐指数
12
解决办法
6万
查看次数

React native:未找到Android项目.也许首先运行react-native android?

我在我的React-Native项目中遇到了一个问题,该问题早先工作得很好,但突然间它停止了工作.每当我使用命令时:

react-native run-android
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

找不到Android项目.也许首先运行react-native android?

试过跑:

react-native android
Run Code Online (Sandbox Code Playgroud)

但它说:

Unrecognized command 'android' Run react-native --help to see list of all available commands

尝试后:

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject
Run Code Online (Sandbox Code Playgroud)

返回的错误是:

在D:\ ProjectRoot\ReactNativeProjects\AwesomeProject \node_modules(48ms)中扫描符号链接的文件夹name必须在app.json配置文件中定义应用程序才能定义项目名称.它不得包含任何空格或破折号.

这是app.json文件:

{
  "expo": {
    "name": "AwesomeProject",
    "description": "A very interesting project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": ["ios", "android"],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.project.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain", …
Run Code Online (Sandbox Code Playgroud)

react-native-android

76
推荐指数
9
解决办法
4万
查看次数