Android 安卓上下文&;OSGi束
实际上,我正在Android上开发OSGi,我已经接近我的目标,但有一个小问题 框架(ApacheFelix)正在成功运行。问题来自希望获取应用程序上下文的捆绑包。我只是不能尝试使用它们,因为在运行时,我有一个漂亮的“找不到classe Android.content.Context”,引用了[…]。 (然后在尝试获取ServiceReference时出现NoClassDefFoundError) 我将Android.jar链接到捆绑包,但这似乎还不够(即使编译还可以)。 可能是我创建包的方式不对,我只是在完成后将其导出为.jar 因此,如果您有一些关于如何解决此问题的提示,欢迎使用;)Android 安卓上下文&;OSGi束,android,eclipse,jar,osgi,bundle,Android,Eclipse,Jar,Osgi,Bundle,实际上,我正在Android上开发OSGi,我已经接近我的目标,但有一个小问题 框架(ApacheFelix)正在成功运行。问题来自希望获取应用程序上下文的捆绑包。我只是不能尝试使用它们,因为在运行时,我有一个漂亮的“找不到classe Android.content.Context”,引用了[…]。 (然后在尝试获取ServiceReference时出现NoClassDefFoundError) 我将Android.jar链接到捆绑包,但这似乎还不够(即使编译还可以)。 可能是我创建包的方式不
谢谢 好了,我终于做完了。我真是个傻瓜 在Manifest.mf的“导入包”部分,不要忘记添加
android.content
它现在工作得很好;) 好了,我终于做完了。我真是个傻瓜 在Manifest.mf的“导入包”部分,不要忘记添加
android.content
它现在工作得很好;)
Android.content.Context
是Android API的一部分吗?听起来这需要作为系统包的导出公开。您可以通过将Android.content
添加到org.osgi.framework.system.packages.extra
属性中来实现这一点。不幸的是,我已经尝试过了,使用configMap.put(Constants.framework\u SYSTEMPACKAGES\u extra,“Android.content”)代码>然后,在Activator中,我像这样注册当前上下文:this.m_Context.registerService(Context.class.getName(),appContext,null)代码>最后,我尝试通过以下方式获取相应的ServiceReference:ServiceReference ref=context.getServiceReference(context.class.getName())代码>但是它在运行时为这一行抛出一个“NoClassDefFoundError”。Android.content.Context是否是Android API的一部分?听起来这需要作为系统包的导出公开。您可以通过将Android.content
添加到org.osgi.framework.system.packages.extra
属性中来实现这一点。不幸的是,我已经尝试过了,使用configMap.put(Constants.framework\u SYSTEMPACKAGES\u extra,“Android.content”)代码>然后,在Activator中,我像这样注册当前上下文:this.m_Context.registerService(Context.class.getName(),appContext,null)代码>最后,我尝试通过以下方式获取相应的ServiceReference:ServiceReference ref=context.getServiceReference(context.class.getName())但是它在运行时为这一行抛出一个“NoClassDefFoundError”。