gpt4 book ai didi

java - 如何在Android Studio中使用javax.xml.transform.stax?

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:55 25 4
gpt4 key购买 nike

我在 Android Studio 中遇到了一个奇怪的问题。我也在使用最新的JDK。我似乎无法导入以下内容:

  • javax.xml.stream
  • javax.xml.transform.stax

它们都无法使用,我不知道为什么。在非 android 项目中我可以导入这些。知道为什么 Android 中缺少这些吗?

如果没有,简单的解决方案是我从 Maven 添加这些依赖项。但运行后我收到此错误:

“在不构建核心库时,不明智或错误地使用核心类(java.* 或 javax.*)。

最佳答案

Android 不使用与桌面或服务器应用程序相同的 Java JDK;它使用自己的 JDK 实现,添加了 android.* 层次结构,但省略了标准 JDK 中的一些包,特别是 javax.* Java 扩展中的包。对您来说不幸的是,javax.xml.streamjavax.xml.transform.stax 是他们没有选择实现的东西。此外,出于安全原因,Android 运行时不允许您从外部 JAR 文件加载任何 java.*javax.* 类**。 This answer可以更好地描述情况。

您最好的选择可能是:1) 使用专为 Android 构建的不同第三方库,例如 SimpleXML ; 2)寻找重新打包版本的库,例如this JAXB effort ;或 3) 使用类似 Jar Jar Links 的工具为您重新包装。

另请参阅这个优秀的 guide关于在 Android 中解析 JSON 和 XML。

** 注意:我无法从 Google 找到任何文档来证实这一点;这只是一个经常重复的“事实”。如果有人可以指出有关 Android 处理第三方 java[x].* 类的权威声明,请使用链接进行评论,或编辑此答案。

关于java - 如何在Android Studio中使用javax.xml.transform.stax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36757089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com