Управление плагинами для приложения Android
Мы хотим разработать и расширяемое приложение для Android и ищем способ обработки плагинов.
Как вы думаете, что будет лучшим подходом:
Использование Android PackageManager. Проблема здесь в том, что PM не разработан с учетом плагинов, поэтому мы должны были бы реализовать такие функции, как проверка зависимостей самостоятельно.
Использование существующего Java-фреймворка, такого как JPF (Java Plugin Framework) или OSGi. OSGi выглядит слишком масштабно для нас, и на Android не так много информации о JPF.
Другие идеи?
2 ответа
Что именно вы имеете в виду под "плагином"? С Intent
а также IntentFilter
Концепция, которую вы уже можете сделать много вещей, которые я бы назвал "плагин". Например, вы можете разрешить другим приложениям добавлять записи в ваше контекстное меню.
Другим подходом может быть использование инфраструктуры OSGi. Я не уверен, знакомы ли вы с ним, но он позволяет создавать приложение из компонентов (называемых пакетами), которые можно устанавливать, обновлять и удалять, не останавливая другие компоненты. OSGi часто используется как для создания полностью модульных приложений, так и для создания механизма плагинов для существующих приложений.
Существует несколько реализаций OSGi с открытым исходным кодом. Apache Felix работает из коробки на Android, и встроить его в ваше приложение также довольно просто.
Если вам интересно, я могу предоставить больше указателей, так что не стесняйтесь следить за этим ответом.