Android SDK
El SDK (Software Development Kit) de Android, incluye un conjunto de herramientas de desarrollo.[2] Comprende un depurador de código, biblioteca, un simulador de teléfono basado en QEMU, documentación, ejemplos de código y tutoriales. Las plataformas de desarrollo soportadas incluyen GNU/Linux, Mac OS X 10.5.8 o posterior, y Windows XP o posterior. El entorno de desarrollo integrado (IDE, Integrated Development Environment) soportado oficialmente es Android Studio junto con el complemento ADT (plugin Android Development Tools). Además, los programadores pueden usar un editor de texto para escribir ficheros Java y XML y utilizar comandos en un terminal (se necesitan los paquetes JDK (Java Development Kit y Apache Ant) para crear y depurar aplicaciones, así como controlar dispositivos Android que estén conectados (es decir, reiniciarlos, instalar aplicaciones en remoto, etc.).[3] Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android. El SDK soporta también versiones antiguas de Android, por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las herramientas de desarrollo son componentes descargables, de modo que una vez instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de compatibilidad.[4] Una aplicación Android está compuesta por un conjunto de ficheros empaquetados en formato .apk y guardada en el directorio Android Debug Bridge - Conector de Depuración de AndroidAndroid Debug Bridge (Conector o puente para depuración de Android ), o ADB, es un juego de herramientas incluido en el paquete SDK de Android. Consiste en programas con función tanto de cliente, como de servidor, que se comunican entre ellos. El uso normal del ADB se realiza desde la línea de comandos,[6] aunque existen numerosas interfaces gráficas para controlarlo. La forma de enviar comandos por medio del ADB es normalmente adb [-d|-e|-s <NúmeroDeSerie>] <comando> En un problema de seguridad, publicado en marzo del 2011, ADB fue utilizado como un vector para tratar de instalar programas como superusuario (root) en teléfonos conectados, por medio de un ataque de saturación de recursos ('resource exhaustion attack').[7] Fastboot - Arranque rápidoFastboot es un protocolo de diagnóstico incluido en el SDK cuya función principal consiste en modificar el sistema de ficheros flash mediante una conexión USB desde un ordenador. Para ello el dispositivo ha de arrancarse en modo boot loader (carga de inicio) o modo Second Program Loader (segundo cargador de programa) donde sólo se realiza una inicialización de hardware básica. Después de habilitar el protocolo en el dispositivo, este acepta un juego específico de instrucciones que recibe por medio de la conexión USB utilizando la línea de comandos. Algunos de los comandos más usados son:
Native development kit - Sistema de desarrollo nativo
El NDK permite instalar bibliotecas escritas en C, C++ y otros lenguajes, una vez compiladas para ARM, MIPS o código nativo x86. Los programas Java en ejecución en la máquina virtual Dalvik (Dalvik VM) pueden llamar a clases nativas por medio de la función Se pueden compilar e instalar aplicaciones completas utilizando las herramientas de desarrollo tradicionales.[11] Sin embargo, según la documentación de Android, NDK no debe utilizarse para desarrollo, simplemente porque el programador prefiera programar en C/C++, ya que la utilización del NDK aumenta la complejidad sin que la mayor parte de las aplicaciones obtengan ningún beneficio por ello.[12] El depurador ADB proporciona un shell root en el Simulador de Android que permite cargar y ejecutar código nativo ARM, MIPS o x86. Este código puede compilarse con GCC, o el compilador C++ de Intel en un ordenador personal normal.[13] La ejecución de código nativo es difícil porque Android utiliza una biblioteca de C propia (libc, llamada Bionic). La biblioteca gráfica que utiliza Android para controlar el acceso a este dispositivo se llama Skia Graphics Library (SGL), disponible con licencia de código abierto.[14] Skia tiene implementaciones en win32 y Unix, permitiendo el desarrollo de aplicaciones multiplataforma, y es el motor de gráficos que soporta al navegador web Google Chrome.[15] NDK está basado en la línea de comandos, y al contrario que el desarrollo con Eclipse, requiere la invocación manual de comandos para construir, cargar y depurar las aplicaciones. Hay herramientas de terceros que integran el NDK con Eclipse[16] y Visual Studio.[17] Android Open Accessory Development KitLa plataforma Android 3.1 (también actualizada en la plataforma Android 2.3.4) introduce soporte para Android Open Accessory, que permite que equipos USB externos (y Android USB Accesory) puedan interactuar con dispositivos Android en un modo especial llamado "accessory" (accesorio). Cuando un dispositivo Android está en modo "accessory", el accesorio conectado actúa como un centro (host) USB (proporciona potencia al bus y ennumera los dispositivos ) mientras que el dispositivo Android funciona como un dispositivo USB. Los accesorios Android USB están diseñados específicamente para unirse a dispositivos Android mediante un protocolo sencillo (protocolo "Android accessory") que les permite detectar a los dispositivos Android compatibles con este modo.[18] Referencias
Véase también |
Portal di Ensiklopedia Dunia