Задача
Я хочу создать приложение, которое может быть каким-то образом расширено программистами. У меня есть набор классов, которые можно расширить, которые я предоставляю в jar для программистов (хотя мне не очень нравится это решение, так как я не могу изменить API позже), а затем они могут расширить этот интерфейс и разработать их классы. Проблема начинается на этом этапе. Я хочу расширить его с помощью классов, не деятельности .
Что я знаю
Я читал об этом предмете, и люди обычно советуют использовать намерения и фильтры намерений для создания плагина для Android. Проблема в том, что эта тактика требует использования действий, и полезно запускать набор действий, которые работают как плагины внутри основного приложения. Я не хочу этого Мне нужно загрузить набор классов в начале моего приложения, которые являются внешними по отношению к основному проекту. Кроме того, я читал о ClassLoaders, но некоторые решения довольно хакерские, и я не мог найти то, что хотел для моей проблемы ...
Вопросы
Так, как я могу создать классы, которые могут быть загружены приложением в Android? И как я могу загрузить те классы, которые разрабатываются извне, в мое приложение?