基于APK的基于服务的插件

时间:2017-02-27 13:23:36

标签: android plugins

我现在正在寻找重新构建基于库的Android应用程序,以便不是在构建时提供每个库的功能(仅限于扩展到我),我只提供一个基础应用程序和一个允许任何开发人员独立编写插件的SDK。

我无法在Android上找到很多方法来实现这一点(与.NET的Unity依赖注入框架不同,它支持独立的DLL)。我发现的是:

  1. 基于APK的方法: http://blog.raffaeu.com/archive/2015/05/31/android-plugin-application.aspx

  2. 基于服务的方法: http://androidsrc.net/creating-android-app-plugin-architecture-tutorial/

  3. 我的问题是:还有其他方法可以实现这一目标吗? (注意:来自Google Play&Tors的合法的方式)

    另外,在您看来,我上面列出的两种方法中哪一种更优秀?

1 个答案:

答案 0 :(得分:3)

通常,如果某个应用程序会接受来自其他开发人员的某种插件,那么这些插件将以APK文件的形式分发,无论是通过Play商店还是通过其他渠道。例如,这些插件可能需要不同的权限,只有在Android设备上是一等公民时才能实现。

因此,插件只是一些其他应用程序,通过一些记录和支持的IPC机制与您的应用程序进行交互。四大Android组件 - 活动,服务,接收器和提供商 - 都可能与插件相关。这实际上取决于你想要插件做什么以及插件需要从你的应用程序中做到这一点。在摘要中,我们无法告诉您使用哪些。

就个人而言,如果我要做这种事情,我会写基础应用程序加上至少三个插件。 “吃自己的狗粮”的行为"编写这些插件时,将有助于指导您完成所需的IPC机制。即使最终你运送插件'功能直接烘焙到主应用程序中,具有"真实"插件将有助于塑造您的SDK,您的安全模型等。