有没有人试图在Android 4.1或4.2上运行Apache Felix? 对我来说,看起来好像Android类加载器上的某些内容已被更改,现在它已经不再适用了。
我以编程方式启动apache felix,如下所示:
config.put("felix.bootdelegation.implicit", "false"); config.put("felix.service.urlhandlers","false"); ... felix.start();
我的包也是“dexed”!
我收到了这个错误:
03-04 23:38:51.360: W/System.err(1431): org.osgi.framework.BundleException: Activator start error in bundle org.apache.felix.shell.remote [25].
...
03-04 23:38:51.360: W/System.err(1431): at dalvik.system.NativeStart.main(Native Method)
03-04 23:38:51.360: W/System.err(1431): Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
03-04 23:38:51.360: W/System.err(1431): at java.lang.VMClassLoader.defineClass(Native Method)
03-04 23:38:51.360: W/System.err(1431): at java.lang.ClassLoader.defineClass(ClassLoader.java:292)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2128)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
03-04 23:38:51.360: W/System.err(1431): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1317)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4170)
03-04 23:38:51.360: W/System.err(1431): at org.apache.felix.framework.Felix.activateBundle(Felix.java:1972)
03-04 23:38:51.360: W/System.err(1431): ... 15 more
有人可以证实吗? 他们是解决方案吗? 也许他们是一个必须在apache felix中改变的属性?!?!