【问题标题】:Android felix development安卓菲利克斯开发
【发布时间】:2026-01-01 05:00:01
【问题描述】:

我正在研究如何重新构建我开发的 android 应用程序以采用 Felix 框架。我已按照以下步骤操作:http://felix.apache.org/site/apache-felix-framework-and-google-android.html。但是,他们说“Apache Felix 也可以与 Android 应用程序集成。要实现这一点,您需要将 Felix 嵌入到 Activity 类的 onCreate() 方法中(有关如何使用 Activity 的更多详细信息,请参阅 Android 文档)并处理您的捆绑包如上所示。”我不明白它到底是什么意思。有人知道如何基于 Felix 框架开发应用程序吗?

【问题讨论】:

    标签: android osgi apache-felix


    【解决方案1】:

    我不熟悉 Android 上的 Felix,但这意味着您在 onCreate() 方法中手动引导框架。以下代码是启动框架并安装一些包的示例。

     FrameworkFactory frameworkFactory = ServiceLoader
            .load(FrameworkFactory.class).iterator().next();
        Map<String, String> config = new HashMap<>();
        Framework framework = frameworkFactory.newFramework(config);
        framework.start();
    
        BundleContext context = framework.getBundleContext();
        List<Bundle> bundles = new ArrayList<>();
        bundles.add(
            context.installBundle("file:org.apache.felix.gogo.command-0.10.0.jar"));
        bundles.add(
            context.installBundle("file:org.apache.felix.gogo.runtime-0.10.0.jar"));
        bundles.add(
            context.installBundle("file:org.apache.felix.gogo.shell-0.10.0.jar"));
    
        for (Bundle bundle : bundles) {
            bundle.start();
        }
    

    【讨论】:

    • thk,我会尽快尝试 :)