Android: загрузка действий с внешнего устройства - PullRequest
0 голосов
/ 08 февраля 2011

Возможно ли загрузить действия из внешнего dex-файла?Я думаю о некоторой архитектуре стиля плагина, где приложение может быть расширено путем загрузки dex-файлов с действиями и классами, содержащими дополнительную функциональность.

Мне удалось загрузить и вызвать методы для классаиз загруженного dex-файла, используя DexClassLoader и отражение.Но могу ли я каким-то образом использовать эту технику для загрузки и представления Активности?Можно ли зарегистрировать эту новую активность программным образом, чтобы я мог вызывать ее с помощью Intent?

Я знаю, что можно (и рекомендуемый способ) установить другую активность через обычную процедуру с APK,а затем загрузите его из своей основной деятельности с помощью Intents или просто обновите установленное приложение, но я хочу расширить уже установленное приложение, загрузив некоторые дополнительные классы и выполнить все в той же виртуальной машине, в той же песочнице.дайте мне знать, если вы не понимаете, о чем я, потому что это немного запутанно ..:)

1 Ответ

1 голос
/ 08 февраля 2011

Здравствуйте, можно ли загрузить действия из внешнего dex-файла?

Не совсем. Действия должны быть предварительно определены в манифесте приложения.

Вы можете попытаться использовать подход, который используют JRuby и Ruboto, когда в манифесте есть одно действие, которое повторно используется в различных реализациях. Я не полностью проанализировал их подход, но у меня сложилось впечатление, что их деятельность перенаправляет события в сценарий JRuby. В вашем случае действие перенаправит события в другой класс, загруженный из файла DEX.

...