gpt4 book ai didi

android - Android 上的 OSGi (Felix) : NoClassDefFoundError: sun/reflect/ConstructorAccessorImpl

转载 作者:太空狗 更新时间:2023-10-29 14:26:55 24 4
gpt4 key购买 nike

我尝试运行一个明显使用 sun.reflect 包的包。

首先是一些更多的背景信息:我在 Android 上使用 Apache Felix。我还添加了 sun.reflect 作为系统额外包。

String extrapackets =  "sun.reflect; version=\"1.0.0\"";

config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, extrapackets);

config.put("felix.bootdelegation.implicit", "false");

“sun.reflect”也显示在系统包的导出列表中(使用 headers cmd)。它是由我的包导入的。它还在导出和导入内容时获得了正确的版本号。

错误消息:

java.lang.NoClassDefFoundError: sun/reflect/ConstructorAccessorImpl
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
at java.security.AccessController.doPrivileged(Native Method)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:76)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:30)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
...

最佳答案

如果其他人遇到此问题,可能会有更快的解决方法。

我在 Sun/Oracle JVM 上运行的 OSGi 中使用反射时遇到了这个错误。原来this is a known issue .在 JVM 级别设置 -Dsun.reflect.noInflation=true 的建议修复将导致不引用该类,代价是忽略优化。

我尝试了修复,它对我有用。

关于android - Android 上的 OSGi (Felix) : NoClassDefFoundError: sun/reflect/ConstructorAccessorImpl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482832/

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