【问题标题】:cordova requirements error "Android target: not installed"科尔多瓦要求错误“Android目标:未安装”
【发布时间】:2018-04-29 20:55:44
【问题描述】:

在 WINDOWS 10 上使用 cordova 我无法构建项目。

当我尝试cordova requirements 时,它显示了Android target: not installed

我通过互联网尝试了所有可能的解决方案,但是,没有一个对我有用。可能这与最新版本的 cordova v 8.0.0 有关。

我尝试了以下方法,但没有成功:
1. 从我的 C:\Users\admin\AppData\Local\Android\Sdk 文件夹中的 cordova CLI 覆盖工具文件夹。
2. cordova platform remove android 然后cordova platform add android@7.0.0
3. 卸载并重新安装 Android Studio 中的所有 SDK。
4.<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="26" />
5. 更新config.xml 文件为

<platform name="android">

  <preference name="android-minSdkVersion" value="16"/> 
  <preference name="android-targetSdkVersion" value="26"/>

  <!--other line code -->

</platform>
  1. 从 16 到 27 安装了 Android Studio 中 SDK 管理器中的所有 SDK。

以下是触发需求命令后的日志:

Android Studio project detected

Requirements check results for android:
Java JDK: installed
Android SDK: installed true
Android target: not installed
cmd: 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.parseSdk(AvdManagerCli.java:328)
        at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:204)
        at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
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)
        ... 6 more
Gradle: installed

请提出解决此问题的解决方案。

【问题讨论】:

  • 你的 ANDROID_PATH 环境变量设置了吗?
  • ANDROID_HOME 设置为 SDK 的路径,但我没有设置 ANDROID_PATH。它应该指向什么?
  • 另外,我已经用运行 requirements 命令后得到的日志更新了我的问题
  • 我的错,想说ANDROID_HOME。

标签: android cordova phonegap


【解决方案1】:

终于修好了!我将我的 JDK 降级到版本 8.172。似乎Android SDK不支持8以上的JDK版本。然后,更新环境变量中的 JAVA_HOME 路径以指向新的 JDK 文件夹路径。如果您使用的是 Mac 或 *nix 机器,您也可以尝试 jenv(我无法尝试 jenv,但如果它对您有用,请告诉我)

【讨论】:

  • 非常感谢。我从没想过降级 jdk 版本
  • 为什么这么难?!?我只花了 2 个小时在 macOS Mojave 上解决这个问题。根据您的建议,我在 Oracle 的网站上找到了一个名为 jdk-8u172-macosx-x64.dmg 的存档 JDK 版本,并安装了它,瞧,cordova requirements 很满意!
猜你喜欢
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 2017-11-21
  • 2015-07-18
相关资源
最近更新 更多