Я хочу добавить, что несобственный компонент совместно использовал библиотеку к Android, таким образом, каждое приложение на устройстве сможет использовать его. Я означаю использовать упакованные классы точно так же, как оперативная библиотека, как будто они присутствовали в самом приложении.
Я изучил исходный код Android для выяснения способа добавить новый путь к приложению ClassLoader
и узнанный, что это создается во время запуска и нет никакого способа изменить пути позже. Я могу использовать свое собственное ClassLoader
, но все, что я получу после загрузки класса, будет ссылкой на a Class
объект. Таким образом, я буду обязан работать через отражательный механизм, который медленнее, чем собственная система выполнения.
Там какой-либо путь состоит в том, чтобы организовать общую библиотеку по Android?
Обновление: только, чтобы быть ясным здесь, мне не нужно взаимодействие между приложениями. Мне нужны классы, которые я могу снова использовать в любом приложении. Также статические библиотеки действительно не удовлетворяют моим потребностям, потому что это чрезмерно увеличит размер приложений.
Даже если вы получите объект класса, безопасность model (binder) на Android запретит приложениям чтение в каталог другого приложения.
Лучшее, что вы можете сделать на телефоне без полномочий root, - это создавать библиотеки через Intents.
Для статических библиотек многократно используемых классов вы можете использовать библиотечные проекты. Для динамического взаимодействия с другими приложениями в безопасном режиме вы можете привязаться к сервису.