我正在尝试从meteor.js开发一个应用程序。我能够在Apple设备上编译和运行。但是当我尝试在android(meteor run android-device)上运行时,我从终端获得以下错误消息。我试过谷歌搜索问题,但仍无法解决问题!。
Status of the individual requirements:
✓ Java JDK
✓ Android SDK
✗ Android target: avdmanager: Command failed with exit code 1 Error output:
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.AvdManagerCli.run(AvdManagerCli.java:213)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
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
✓ Gradle
答案 0 :(得分:0)
这就是我所做的:
meteor remove-platform android
如@SamaahRasheed所述,然后我去了Android Studio并对其进行了更新:
Android Studio>检查更新
,然后还更新了其他所有内容,然后Android Studio也建议我也进行更新。
然后我确定JAVA_HOME至少是Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
然后我重新添加了android平台:
meteor add-platform android
也许其中一个比另一个重要,但这确实有用。