gpt4 book ai didi

java - Spring LibGDX And​​roid 应用程序中缺少 java.beans.Introspector

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

我正在尝试运行基于 LibGDX 的 Android 应用程序,该应用程序是使用 Spring 框架(不是 Android 的 Spring,而是普通的 Spring)构建的。有一个异常(exception):

ClassNotFoundException: Didn't find class "java.beans.Introspector"

据我所知,Android 运行时不像常规 JRE 那样具有功能齐全的 java.beans 包。

这个问题有解决方法吗(可能是一些缺少类的 3d-party jar)?

我无法更改包名称,因为使用此 Introspector 的 AnnotationBeanNameGenerator 类是 Spring-Context 的一部分。

最佳答案

最终看来,普通的 Spring(不是 Spring for Android)无法在 Android 上运行,因为它使用了 CGLIB。 CGLIB只能操作Java字节码,但在Android上有一个特殊的Dalvik字节码。

缺少 java.beans 类的问题可以通过手动添加此类类(您可以使用一些开源 JRE 实现,如 Apache Harmony )并将 --core-library 选项传递给 dex 来解决。

如何传递--core-library选项:

将以下内容放入 Gradle Android 插件配置的 android 部分:

dexOptions {
preDexLibraries = false
}

并添加新参数:

tasks.withType(com.android.build.gradle.tasks.Dex) {
additionalParameters=['--core-library']
}

关于java - Spring LibGDX And​​roid 应用程序中缺少 java.beans.Introspector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30012940/

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