Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓上下文&;OSGi束_Android_Eclipse_Jar_Osgi_Bundle - Fatal编程技术网

Android 安卓上下文&;OSGi束

Android 安卓上下文&;OSGi束,android,eclipse,jar,osgi,bundle,Android,Eclipse,Jar,Osgi,Bundle,实际上,我正在Android上开发OSGi,我已经接近我的目标,但有一个小问题 框架(ApacheFelix)正在成功运行。问题来自希望获取应用程序上下文的捆绑包。我只是不能尝试使用它们,因为在运行时,我有一个漂亮的“找不到classe Android.content.Context”,引用了[…]。 (然后在尝试获取ServiceReference时出现NoClassDefFoundError) 我将Android.jar链接到捆绑包,但这似乎还不够(即使编译还可以)。 可能是我创建包的方式不

实际上,我正在Android上开发OSGi,我已经接近我的目标,但有一个小问题

框架(ApacheFelix)正在成功运行。问题来自希望获取应用程序上下文的捆绑包。我只是不能尝试使用它们,因为在运行时,我有一个漂亮的“找不到classe Android.content.Context”,引用了[…]。 (然后在尝试获取ServiceReference时出现NoClassDefFoundError)

我将Android.jar链接到捆绑包,但这似乎还不够(即使编译还可以)。 可能是我创建包的方式不对,我只是在完成后将其导出为.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())