Red de conocimiento informático - Conocimiento informático - ¿En qué idioma se compilan y empaquetan principalmente los programas de Android?

¿En qué idioma se compilan y empaquetan principalmente los programas de Android?

1. Aplicaciones

Android se lanzará junto con una serie de paquetes de aplicaciones principales, que incluyen clientes de correo electrónico, programas de mensajes cortos SMS, calendarios, mapas, navegadores, programas de gestión de contactos, etc. Todas las aplicaciones están escritas en lenguaje JAVA.

2. Marco de aplicaciones

Los desarrolladores también tienen acceso completo al marco API utilizado por las aplicaciones principales. El diseño arquitectónico de la aplicación simplifica la reutilización de componentes; cualquier aplicación puede publicar sus bloques funcionales y cualquier otra aplicación puede utilizar sus bloques funcionales publicados (pero sujeto a las restricciones de seguridad del marco). Asimismo, el mecanismo de reutilización de aplicaciones también permite a los usuarios reemplazar fácilmente los componentes del programa.

Ocultos detrás de cada aplicación hay una serie de servicios y sistemas, que incluyen; vistas ricas y extensibles (Views) que se pueden utilizar para crear aplicaciones, incluidas listas (lists), Grids, cuadros de texto, incluso botones. Navegadores web integrables. Los proveedores de contenido permiten que las aplicaciones accedan a los datos de otra aplicación (como una base de datos de contactos) o compartan sus propios datos. El Administrador de recursos proporciona acceso a recursos sin código, como cadenas locales, gráficos y archivos de diseño. El Administrador de notificaciones permite que las aplicaciones muestren información de aviso personalizada en la barra de estado. Activity Manager se utiliza para gestionar el ciclo de vida de la aplicación y proporcionar funciones de respaldo de navegación comunes.

3. Bibliotecas de programas

Android contiene algunas bibliotecas C/C++, que pueden ser utilizadas por diferentes componentes del sistema Android. Proporcionan servicios a los desarrolladores a través del marco de aplicaciones de Android. Estas son algunas de las bibliotecas principales: Biblioteca System C: una biblioteca de funciones del sistema C (libc) estándar heredada de BSD y personalizada específicamente para dispositivos integrados basados ​​en Linux. Biblioteca multimedia: basada en PacketVideo OpenCORE; esta biblioteca admite la reproducción y grabación de una variedad de formatos de audio y video de uso común, así como archivos de imágenes fijas. Los formatos de codificación incluyen MPEG4, H.264, MP3, AAC, AMR, JPG, PNG. Surface Manager: gestión del subsistema de visualización y proporciona una combinación perfecta de capas 2D y 3D para múltiples aplicaciones. LibWebCore: un nuevo motor de navegador web compatible con navegadores Android y una vista web integrable. SGL: bibliotecas 3D de motor de gráficos 2D de bajo nivel: implementadas en base a las API de OpenGL ES 1.0, la biblioteca puede usar aceleración 3D por hardware (si está disponible) o usar aceleración suave 3D altamente optimizada. FreeType: visualización de fuentes vectoriales y de mapa de bits. SQLite: un motor de base de datos relacional potente y liviano disponible para todas las aplicaciones.

4. Biblioteca de tiempo de ejecución de Android

Android incluye una biblioteca central que proporciona la mayoría de las funciones de la biblioteca principal del lenguaje de programación JAVA.

Cada aplicación de Android se ejecuta en su propio proceso y tiene una instancia de máquina virtual Dalvik independiente.

Dalvik está diseñado para que un solo dispositivo pueda ejecutar de manera eficiente múltiples sistemas virtuales simultáneamente.

Archivo ejecutable Dalvik ejecutado por la máquina virtual Dalvik (.dex). Este archivo de formato está optimizado para un uso reducido de memoria. Al mismo tiempo, la máquina virtual se basa en registros. Todas las clases son compiladas por el compilador JAVA y luego convertidas al formato .dex a través de la herramienta "dx" en el SDK y ejecutadas por la máquina virtual. La máquina virtual Dalvik se basa en algunas funciones del kernel de Linux, como el mecanismo de subprocesos y el mecanismo de administración de memoria subyacente.

5. Kernel de Linux

Los servicios principales del sistema Android se basan en el kernel de Linux 2.6, como la seguridad, la gestión de memoria, la gestión de procesos, la pila de protocolos de red y el modelo de controlador. El kernel de Linux también sirve como capa de abstracción entre las pilas de hardware y software.