Sistema de complementos con DexClassLoader () e interfaz de usuario

Para un proyecto de estudiante a largo plazo, estoy tratando de desarrollar una aplicación modular con plugins. Específicamente, tendríamos:

  • Una aplicación maestra en la que podríamos buscar, actualizar, eliminar y ejecutar los complementos. Esta aplicación maestra también almacenaría algunos datos de los complementos.

  • Varios plugins descargados de un servidor HTTP con componentes de código y GUI.

Por ahora, tengo una aplicación maestra que es capaz de descargar un archivo .apk de HTTP y para crear una nueva instancia de una clase definida en este archivo .apk. Utilizo la forma descrita aquí: http://android-developers.blogspot.fr/2011/07/custom-class-loading-in-dalvik.html con el método DexClassLoader ().

Pero no puedo ver cómo mostrar un diseño (o cualquier otro componente GUI) almacenado como un recurso en el archivo .apk de complemento. Por ejemplo, intenté sin éxito crear un intento de la aplicación maestra usando el nombre de la clase del complemento:

DexClassLoader cl = new DexClassLoader(...); Class<?> libClass = cl.loadClass("plugin_classname"); Intent intent = new Intent(this.getApplicationContext(), libClass); startActivity(intent); 

Y esto no funciona porque el Intent no se declara en AndroidManifest.xml de la aplicación maestra. Esto también se describe en este otro hilo: Android- Usando DexClassLoader para cargar el archivo apk

¿Significa eso que no hay absolutamente ninguna manera de construir una interfaz de usuario "dinámica"? En términos más generales, ¿se puede hacer este tipo de sistema de complementos en Android? ¿Debo probar otro método?

Una vez probé lo mismo y lo encontré imposible. Si el mecanismo básico no ha cambiado desde entonces (enero de 2011), sigue siendo imposible. Los detalles técnicos se describen en mi blog en japonés e inglés.

Blog: agrega dinámicamente una actividad que no está declarada en AndroidManifest.xml (imposible)
http://darutk-oboegaki.blogspot.jp/2011/01/androidmanifestxml-activity.html

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.