使用Android实现OSGI的最佳选择

时间:2013-07-30 18:35:42

标签: android osgi apache-felix osgi-bundle

我想开发一个支持动态加载和卸载bundle的android应用程序。因此,我正在考虑使用OSGI实施框架。

我最好的OSGI实施选择是什么?

最好的,我说的是文档(资源的可用性),与Android API的兼容性,以及对在Android应用程序中嵌入OSGI的支持。

在搜索时,我发现两个似乎很好的实现:

1- Apache Felix

2- Knopflerfish

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:3)

两者均适用于Android。就像Balazs在评论中指出的那样,Dalvik和JVM之间存在着一些微妙的差异,其中一些在做OSGi样式动态加载代码时会咬你。从内存中,您还必须担心无法加载同一个类两次(即使它们是私有地打包在不同的包中)。但是,由于您可能从头开始设计应用程序,因此您可以解决此类问题。

您还可以在此处找到一些信息:OSGi container for Android

一个棘手的方面是Android也是一个移动目标。 Android的第一个版本没有公开我们需要运行Felix的类加载器方法,所以我们不得不做一些逆向工程。很难预测Android的未来版本会带来什么。事情可能会破裂。您是要选择自己的Android版本并将其部署到您定位的设备上,还是代码需要在现有设备上运行?