Управление плагинами для приложения Android

Мы хотим разработать и расширяемое приложение для Android и ищем способ обработки плагинов.

Как вы думаете, что будет лучшим подходом:

  • Использование Android PackageManager. Проблема здесь в том, что PM не разработан с учетом плагинов, поэтому мы должны были бы реализовать такие функции, как проверка зависимостей самостоятельно.

  • Использование существующего Java-фреймворка, такого как JPF (Java Plugin Framework) или OSGi. OSGi выглядит слишком масштабно для нас, и на Android не так много информации о JPF.

  • Другие идеи?

2 ответа

Решение

Что именно вы имеете в виду под "плагином"? С Intent а также IntentFilter Концепция, которую вы уже можете сделать много вещей, которые я бы назвал "плагин". Например, вы можете разрешить другим приложениям добавлять записи в ваше контекстное меню.

Другим подходом может быть использование инфраструктуры OSGi. Я не уверен, знакомы ли вы с ним, но он позволяет создавать приложение из компонентов (называемых пакетами), которые можно устанавливать, обновлять и удалять, не останавливая другие компоненты. OSGi часто используется как для создания полностью модульных приложений, так и для создания механизма плагинов для существующих приложений.

Существует несколько реализаций OSGi с открытым исходным кодом. Apache Felix работает из коробки на Android, и встроить его в ваше приложение также довольно просто.

Если вам интересно, я могу предоставить больше указателей, так что не стесняйтесь следить за этим ответом.

Другие вопросы по тегам