Ubuntu/Cordova/Android SDK:AVD 目标未显示

Ubuntu/Cordova/Android SDK:AVD 目标未显示

一位 Web 开发人员尝试使用 Ubuntu 18.04 和 Cordova(v.8.0.0)要求创建 Android 应用程序,结果显示:

    检测到 Android Studio 项目
    Android 要求检查结果:
    Java JDK:已安装
    Android SDK:已安装 true
    Android目标:未安装
    avdmanager:命令失败,退出代码为 1 错误输出:
    线程“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.AvdManagerCli.run(AvdManagerCli.java:213)
    在 com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
    原因: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 个
    Gradle:已安装 /usr/lib/gradle/4.8.1/bin/gradle

我使用 Android Studio 创建了 AVD:

模拟器-列表-avds
Nexus_5X_Nougat_7.0
Nexus_S_Marshmallow

我努力了:

$ANDROID_HOME/tools/bin/avdmanager 创建 avd --force --name testAVD --abi google_apis/x86_64 --package'system-images;android-25;google_apis;x86_64'

但我遇到了同样的错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: javax/xml /bind/annotation/XmlSchema

我尝试过不同版本的 Java/SDK、Gradle、Ionic 等等。每个说明中都缺少一个步骤,并且所有调试都没有清楚地解释“Android 目标:未安装”的步骤。

答案1

您可以尝试添加此环境变量

export JAVA_OPTS="--add-modules java.xml.bind"

答案2

定义您需要的 API 版本。例如,如果您的目标是 Android 10,则需要 API 平台 29。在下文中,将 29 替换为您所需的 API 版本。

您需要 sdkmanager。类型:

sdkmanager——安装“平台;android-29”

在项目目录中,打开 config.xml

添加:<platform name="android"> <preference name="android-targetSdKVersion" value="29" /> </platform>

在现有的 <widget> ... </widget> 标签之间

相关内容