
1. capas basadas en software libre
1.1. Núcleo Linux o kernell
1.1.1. Actúa como capa de abstracción del hardware
1.1.2. Depende del hardware
1.2. Runtime de Android (máquina virtual java y librerías nativas
1.2.1. Incluye "Core libraries" y la máquina virtual Dalvik
1.2.2. Archivos como Dalvik.dex (ahorro de memoria)
1.2.3. Basada en registros
1.2.4. Delega la kernel de Linux algunas funciones como “threading” (procesos ligeros y manejo de memoria a bajo nivel
1.2.5. Librerías en C / C ++
1.3. Entorno de aplicación
1.3.1. Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovadoras funciones: sensores, localización, servicios, barra de notificaciones, ...
1.3.2. Arquitectura diseñada para simplificar la reutilización de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas. Este mismo organismo permite a los usuarios reemplazar componentes.
1.3.3. Servicios más importantes
1.3.3.1. View extenso conjunto de vistas (parte visual de componentes)
1.3.3.2. Content providers mecanismo sencillo para acceder a datos de otras aplicaciones (como los contactos, las listas de llamadas perdidas)
1.3.3.3. Resource Manager proporciona acceso a recursos que no son en código
1.3.3.4. Notification Manager permite a las aplicaciones mostrar alertas customizadas en la barra de estado
1.3.3.5. Activity Manager maneja el ciclo de vida de las aplicaciones y proporciona un sistema de navegación entre ellos
1.4. Aplicaciones
1.4.1. Formado por el conjunto de aplicaciones instaladas en Android: inicio, contactos, teléfono, navegador
1.4.2. Aplicaciones pueden correr en la máquina virtual Dalvik
1.4.2.1. Escritas en Java
1.4.2.2. Se utiliza SDK (Software Development Kit)
1.4.2.3. O ser compiladas a código nativo:
1.4.2.3.1. Escritas normalmente en C/C++
1.4.2.3.2. Se utiliza Android NDK (Native Development Kit)
2. Herramienta
2.1. Desarrollo de APPS
2.2. Requisitos mínimos
2.2.1. Windows
2.2.1.1. Windows 7/8/10 (32 o 64 bits)
2.2.1.2. 2GB RAM (8 GB de RAMrecomendado)
2.2.1.3. 2 GB de espacio libre mínimo (4 GB recomendado)
2.2.1.4. Java 8
2.2.1.5. 64 bits y procesador Intel (emulador)
2.2.1.6. Resolución mínima de 1.280 * 800
2.2.2. Mac
2.2.2.1. Mac OS X 10.8.5 o superior
2.2.2.2. 2 GB de RAM (8 GB de RAM recomendado)
2.2.2.3. 2GB de espacio libre mínimo (4 GB recomendado)
2.2.2.4. Resolución mínima de 1.280 * 800
2.2.2.5. Java 6
2.2.3. Linux
2.2.3.1. GNOME o KDE Desktop
2.2.3.2. Ubuntu
2.2.3.3. 64 bits/32 bits
2.2.3.4. GNU C (glibc) 2.1 o superior
2.2.3.5. 2 GB de RAM (8 GB de RAM recomendado)
2.2.3.6. 2 GB de espacio libre mínimo (4 GB recomendado)
2.2.3.7. Resolución mínima de 1.280*800