ionic cordova构建android和jdk版本错误

问题描述 投票:0回答:1

我尝试使用命令 ionic cordova build android 生成 android 版本 我正在使用

  • gradle 7.4.2
  • cordova-android 10.1.2
  • jdk 11.0.19
  • sdk 31,带有构建工具 31.0.0(带有 30.0.3 的 dx 和 dx.jar 副本) 和 ionic cordova 要求我有这个错误:

android 的需求检查结果:Java JDK:已安装 11.0.19 Android SDK:已安装真实 Android 目标:未安装命令 失败,退出代码 1:线程中 avdmanager 列表目标异常 “主要”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:581) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ...另外 5 个 Gradle:已安装 /opt/gradle/gradle-7.4.2/bin/gradle

如果我使用 jdk8,要求就可以,并且我看到 android 目标 但无法用它构建 android 版本 31(缺少库)

我的 sh(JAVA_HOME、ANDROID_SDK_ROOT)和路径中有所有必需的变量:gradle/bin、sdk/tools、sdk/tools/bin

使用 sdk-30 和构建工具 30.0.3 构建可以工作,但不能使用 sdk-31,如果我尝试构建它,则会出现缺少 java 库的错误

但是,如果我直接将 gradle 与 gradle bundleRelease 一起使用,它可以与 android-31 目标完美配合,并且签名的 apk 可以在我的手机上运行

这是一个老项目,很多包都已经过时了。 可以使用良好的命令来修复它(ionic cordova build android?)

java android cordova gradle ionic-framework
1个回答
0
投票

有同样的问题, 在 sdk 31 中,一些文件丢失了 我已将它们从 buildtools 30.0.3 复制到 31

不记得它们,但我认为 avdmanager 是其中的一部分

© www.soinside.com 2019 - 2024. All rights reserved.