Está en la página 1de 9
44 Recibido: 11 de julio de 2011. Aceptado: 29 de julio de 2011, Abstract “Android is an operating system based on Linux ori- ginally developed for mobile devices and later to ot- her instruments. It is developed by the conglome- rate: Open Handset Alliance, which is led by Goo- gle. In this paper will review its history, develop- ‘ment, applications and other features that distin- guish this open source OS. Keywords: Android, operating system, open Resumen, ‘Android es un sistema operative basado en Linux desarrollado inicialmente para dispositivos méviles y posteriormente hacia otros instrumentos. Bs desarro- ado por el conglomerado de empresas: Open Hand- set Alliance, el cual encabeza Google. En este articu- Io se haré una revisién de su historia, desarrollo, apli caciones y otras earacteristicas que distinguen a es- te SO de cédigo abierto. Palabras clave: Android, sistema operativo, eddigo abierto. Antecedentes En 2003 en Palo Alto, California fue fundada la com- paifa Android Inc., la cual centraba sus funciones en desarrollo de software para teléfonos méviles. En 2005 1a compaiifa Google al adquirir Android Ine., contraté a parte del equipo de cofundadores dee ta entre los que se inclufan Andy Rubin, Rich Mi- ner, Nick Sears y Chris White. El equipo que enca- be26 Rubin desarroll6 una plataforma para disposi- tivos méviles que fue anunciada a fabricantes de dis- positivos y operadores bajo la promesa de dotar de un sistema actualizable y flexible, Este sistema esta- tba basado en el kernel de Linux. En 2006 ya existian rumores acerea de que Google intencién de entrar en el mercado de In tele- fonia mévil ya que la empresa se empeiiaba en que sus servicios de biisqueda y aplicaciones estuvieran disponibles para estos medios, Para el 2007 se dit fundié la noticia de que la empresa estaba solicitan- do patentes en telefonta mévil E15 de noviembre de 2007 se ere6 eon el fin de desa- rrollar estindares abiertos para dispositivos mévi- Contacto 83, 43-51 (2012) les la Open Handset Alliance (OHA)", un consorcio dle varias compaiiias dedicadas a la telefonia, softwa- re, comercializacién, semiconductores y fabricantes de electrénicos. Junto con la formacion de la OHA, el 12 de noviembre se estrend su primer producto, el Android Software Development Kit (SDK), una plataforma. para dispositivos méviles construida. so- bre la-versiGn 2.6 del kernel de Linux. Es hasta el 22 de octubre de 2008 cuando sale all mereado el primer teléfono que ejecuta Android. Caracteristicas del sistema Android esta formado por alrededor de 12 millones de lineas de eédigo, de estas, 2.8 millones de Iineas son de lenguaje C, 2,1 millones de lineas de Java y 41,75 millones de lineas de C++ y 3 millones de lineas son de XML, La estructura de este sistema operative se compo- ne de aplicaciones que se ejecutan en un framework" Java de aplicaciones orientadas a objetos, todas ellas soportadas por la maquina virtual Dalvik con com- pilacién en tiempo de ejecucidn. Incluye Navegador integrado, SQlite: base de da- tos para almacenamiento estructurado que se in- tegra directamente con las aplicaciones. En Multi- media: Soporte para. medios con formates comunes de audio, video ¢ imgenes planas (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), soporte para, Pantalla multitctil y dependiente del terminal: te- lefonia GSM, Bluetooth, EDGE, 3G y Wifi, Cama- ra, GPS, brijula y acelermetro. EL SO es soportado por distintas plataformas como ARM, x86, MIPS e IBM POWER. Arquitectura de Android La arquitectura del SO esté compuesta por cuatro capas (Fig. 1), la primera de ellas es un kernel basa- do en Linus, le siguen las bibliotecas entre las que se Tha Open Handset Atiance (OHA) es wna alianza comer cial de 83 compa (a la fecha) para desarvollar estandar res abiertos pera dspositivos méviles. Algunos miembros som ‘Google, HTC, Dell, Intel, Motorola, Qualcomm, ‘Texas Ins- truments, Samsung, LG, T-Mobile, Nvidia y Wind River Sys Software Development Kit» Kit de desorrollo de softwar reo devkit. Un SDK wm un conjunto de herramientas y peo syamas de desarrollo que permite al peogramadior crear aplic Caciones pera un determinado paquets de software, esteuclie ra de software, plataforma de hardwate, sistema de compu tndora, consulta ce videojuego, sistema operativo o similar SDeade el punto de vista del desarolio de software, Framework os tna estructura de soporte definidn, en In cual ‘otro proyecto de software ptede ser organinad y desarrollad. Android. Oscar Avila Mejia encuentran las bésicas corespondientes a la méqui- na virtual, a continuaciOn est el marco de aplicacio- nes o framework y finalmente la aplicaciones. La des cripci6n se da a continuacién: 1. Niicleo Linux: Android se basa en Linux para los servicios base del sistema como gestién de me- moria y de procesos, pila de red, modelo de con- twoladores y seguridad. El niicleo también actiia ‘como una eapa de abstraceién entre el hardwa- re y el resto de la pila de software, Esto permi- te que se pueda aceeder a los componentes sin ne- ‘cesidad de conocer el modelo o caracteristieas pre- cisas que estén instaladas en eada dispositivo, 2. Bibliotecas: esta capa incluye un conjunto de bi- Dliotecas de C/C++ usadas por varios componen- tes del sistema, Estas bibliotecas se ofrecen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementacién biblioteca C esténdar), bibliotecas de medios, bibliotecas de graficos, 3D vy SQLite, entre otras. Estas son algunas de las biblioteeas que se ineh- yen babitualmente: + Gestor de superficies (Surface Manager) se encarga de componer las imégenes que se ‘mnestran en la pantalla a partir de eapas gr as 2D y 3D. Cada vez que la aplicacién pre- tende “dibujar” algo en la pantalla, la biblio- teca no lo hace directamente sobre ella. Bn. vez de e50, realiza los eambios en imagenes (mapas de bits) que almacena en memoria y que des- pués combina para formar Ia. imagen final que se envia a pantalla. Esto permite realizar con facilidnd diversos efectos: superposicin de elo- mentos, transparencias, transiciones, animacio- nes, ete, « SGL (Scalable Graphics Library): desarro- linda por Skin (empresa adquirida por Google ‘en 2005) y utilizada tanto en Android eomo en Chrome (navegador web de Google), se enear- a de representar elementas en dos dimensio- nes. Es el motor gréfico 2D de Android. « OpenGL ES (OpenGL for Embedded Sys- tems): motor grafico 3D basado en las APIs (Application Program Interface)! de OpenGL (Application Programing Interface- Interfax de Progra- macién de Aplieniones). Es tm grupo de rutinas (que eon formas: tn interfas) que proves un sisteme.cperatino, una 45 ES 10, 1.1 (desde la versiGn 1.6 de Android) y 20 (desde la version 22 de Android). Utii- ‘za aceleracion hardware (si el teléfono la pro- porciona) © un motor software altamente opti- rizado (segrin Google) cuando no la hay. * Bibliotecas multimedia: basadas en Open- CORE, permiten visualizar, reproducir e inclu- so grabar numerosos formatos de imagen, video xy audio como JPG, GIF, PNG, MPEG4, AVC (11.264), MPS, AAC 0 AMR. * WebKit: motor web utilizado por el navega- dor (tanto como aplicacién independiente eo mo embebido en otras aplicaciones). Es el mis- mo motor que utilizan Google Chrome y Sa- fati (el navegador de Apple, tanto en Mac co- mo en el iPhone). + SSL (Secure Sockets Layer): proporciona seguridad al acceder a Internet por medio de criptografia. = FreeType: permite mostrar fuentes tipogrétfi- ‘cas, tanto basadas en mapas de bits como vec~ toriales. # SQLite: motor de bases de datos relacionales, disponible para todas las aplicaciones. * Biblioteca C de sistema (libe): esta ba- sada en la implementaciin de Berkeley Soft- ‘ware Distribution (BSD), pero _optimiza- da para sistemas Linux embebidos. Proporcio- na funcionalidad basica para la ejecuci6n de las aplicaciones. Runtime de Android: en el mismo nivel estén las bibliotecas de entorno de ejecucién (no se eon sidera una capa en si mismo, dado que también sti formado por bibliotecas), Android incluye un set de bibliotecas base que proporcionan la ma- yor parte de las funciones disponibles en las bi- bliotecas habituales del lenguaje Java. Cada apli- cacién del sistema corre su propio proceso, con su. propia instaneia de la méquina virtual Daleik. Bs tala sido eserita de forma que un dispesitivo puc- de corer miiltiples maquinas virtuales eficiente- mente, La méquina virtual ejecuta archives en el formato Dalvik Ezecutable (.dex), el cual est op- timizado para un uso de memoria minimo, Dal- vik est basada en registros y corre elases que han plicackin o una biblioteea, que definen emo invocar des e un programa un servicio que éstos prestan, En ottas pa Tabras, nm API representa un interfaz de corminicnein en tre componentes de sofiaare 46 sido transformadas al formato .dex por la herra- mienta incluida “dx” y compiladas por el compi- lador de Java, Marco de trabajo de aplicaciones: La arqui- tectura estd disefiada para simplificar la reutiliza- cidu de componentes; una aplicacién puede publi- car sus capacidades y después otra aplicacién pue- de hacer uso de las mismas siempre que atienda a las reglas de seguridad del framework. Los desa- rrolladores tienen acceso total a los mismos APIs del framework usados por las aplicaciones base. La mayorfa de los componentes de esta capa son bibliotecas Java que acceden a los recursos a través de la maquina virtual Datoik. Entre las més importantes se encuentran las siguientes: + Administrador de actividades (Activity Manager): se encarga de controlar el ciclo de vida de las actividades y la propia pila de las + Administrador de ventanas (Windows Manager): se encarga de organizar lo que se muestra en. pantalla, creando superficies que pueden ser “rellenadas” por las actividades. + Proveedor de contenidos (Content Pro- wider): permite eneapsular tn conjunto de da- tos que se compartira entre aplicaciones erean- do tina capa de abstraccién que hace accesible dichos datos sin perder el eontrol sobre eémo se accede an informaeidn. Por ejemplo, uno de los proveedores de contenido existentes permi- te a las aplicaciones acceder a los eontactos al macenados en el teléfono. * Vistas (Views): si antes se equiparaban las actividades con las ventanas de un sistema ope- rativo de PC, las vistas se pueden comparar con los controles que se suelen incluir dentro de esas ventanas. Android proporciona nume- rosas vistas’ con las que construir las interfa- ces de usuario: botones, euadros de texto, lis tas, ete. También proporciona otras més sofis- ticadas, como um navegador web 0 un visor de Google Maps. + Administrador de notificaciones (Notifi- cation Manager): proporciona servicios pa- ra notificar al usuario euando algo requiera sit ateneidn. Normalmente las notifieaciones se realizan mostrando alerta en la barra de esta- do, pero esta biblioteca también permite emi- tir sonidos, activar el vibrador 0 hacer parpa- dear los LEDs del teléfono (silos tiene). Contacto 83, 43-51 (2012) + Administrador de paquetes (Packa- ‘ge Manager): las aplicaciones Android se dis- tribuyen en paquetes (archives .apk) que con tienen tanto los archivos dex como to- dos los recursos y archives adicionales que ne cesite la aplicacién, para facilitar su des- carga _e instalacién, Esta biblioteca _per- ite obtener informacién sobre los paque- tes actualmente instalados en el dispositi- vo Android, adems dle gestionar ta instala- in de nuevos paquetes. + Administrador de telefonia (Telephony Manager): proporciona acceso a la pila hard- ware de telefonta del dispositive Android, si la tiene. Permite realizar lamadas o enviar y re- cibir SMS/MMS, aunque no permite reempla- zar 0 eliminar la actividad que se muestra cuan- do una llamada esta en curso (por motivos de seguridad). + Administrador de recursos (Resour ce Manager): proporciona acceso a to- dos los elementos propios de una aplica- cidn que se incluyen directamente en el cédi- go: cadenas de texto traducidas a dife- rentes idiomas, imagenes, sonidos e ine cluso disposiciones de las vistas den tvo de una actividad (Jayouts). Permi- te gestionar esos elementos fuera del c6di- go de la aplicacién y proporcionar diferen- tes versiones por ejemplo en funcién del idio- ma del dispositivo 0 la resolucién de pantalla que tenga, + Administrador de ubicaciones (Location Manager): permite determinar la posicién geogréfica del dispositive Android (usando el GPS 0 las redes disponibles) y trabajar eon ma- is Administrador de sensores (Sensor Ma- nager): permite gestionar todos los sensores hardware disponibles en el dispositive Android: acclerémetro, giroseopio, sensor de Tuminosi- dad, sensor de campo magnético, brijula, sen- sor de presién, sensor de proximidad, sensor de temperatura, etc. ‘+ Cémara: proporciona acceso a las cémaras del dispositive Android, tanto para tomar foto- sgrafias como para grabar video. + Multimedia: conjunto de bibliotecas que per -n reproducir y visualizar audio, video imagenes en el dispositivo, Android. Oscar Avila Mejia 47 Figura 1. La pila de la arquitectura Android. 4. Aplicaciones: las aplicaciones base inehuyen un navegador, cliente de correo electrénico, progra- ma de mensajeria, calendario, mapas, contactos, juegos y el inicio (launcher) que es donde se mnes- ‘ran las aplicaciones instaladas permitiendo lan- zarlas asi como mostrar widgets (peqnefias apli- caciones). Las aplicaciones estn escritas en len- uaje Java 0 O/C++. Las versiones de Android A cada versién de Android se le asocia en inglés un nombre de postre, esto a partir de la versién 1.5. El postre elegido empieza por una letea distinta s guiendo un orden alfabstieo. Las earacteristicas de cada versién son las siguientes: Android 1.5 (cupeake) Debido a tas grandes mejoras introducidas en la ter- cera release de Android, de Abril de 2009, el niime- 10 de version salté directamente a la 1.5. Basado en 1 kernel Linux 2.6.27, las novedades mas interesan- tes eran las siguientes: rodisefio completo de todos los elementos de la interfaz + transiciones animadas entre ventanas ‘= mejoras en la velocidad de la cémara menor tiempo de biisqueda de los satélites GPS, gracias a la posibilidad de utilizar A-GPS = mejoras en la velocidad del navegador web gracias la inclusién de la Gltima version de Webkit, el engine® de renderizado, y SguirelFish, el intérprete JavaScript afiade la posibilidad de copiar y pegar texto y Duscar texto dentro de una pagina web «= posibilidad de personalizar los widgets mostrados fn la pantalla de inicio « inclusién de teclado en pantalla, con soporte pa- ra orientacién vertical y apaisnda, funcionalida- des de auto correccién y soporte de diccionarios del usuario e agrega la posibilidad de grabar y reproducir = soporte de bluetooth stereo. Android 1.6 (Donut) Lanzada en Septiembre de 2009, esta basada en el kernel 2.6.29 de Linux. Se considera una actualiza cién menor, pero aun asf se introdujeron algunas no: vedacies bastante interesantes: © Quick Search Boz, una caja de biisqueda en ta pantalla de inicio que permite buscar entre distin- tas fuentes (los contactos, el historial del navegs dor, Google, ...). Con autocompletado y eapaci- dad de aprendizaje ‘= mejorada la velocidad de la c + posibilidad de conectarse a redes VPN, 802.1x ‘= nueva pantalla para controlar la bateria, que per~ mite comprobar qué apli los que més consumen, Desde esta pantalla se pue- de también parar o desinstalar estas aplicaciones « las aplicaciones de Android Market aparecen aho- ra ordenadas por categorias (Aplicaciones, Juegos y Descargas). Para cada categoria podemos con- sultar las siltimas actualizaciones y las aplicac nes mas populares. Ademés para cada aplicaci se muestra ahora capturas de pantalla y revisio- nes de otros usuarios = nuevo motor de texto a vor. FWotor. Parte de un programa que trata datos de an de- Contacto$ 83, 43-51 (2012) ; 7 | Figura 2. Interfaz de Android 1.1 (iaquierda) y Android 15 (derecha), vin Android Developers. Android 2.x (clair) Android 2.0, lanzado en Noviembre de 2009, Bass do encl kernel de Linux 2.6.29. Las novedades que in- cluye son: 1 se redisefié la interfaz. del navegador, contando ahora con soporte para distintas caracteristicas de HITMLS (entre ellas la etiqueta video), In posibili- dad de hacer zoom con una doble pulsacién y mi- niaturas (thumbnails) de los marcadores + soporte nativo de flash para 1a eémara (aparen- temente los fabricantes de teléfonas que conta- han con flash previamente tuvieron que desi- rrollar sus propios drivers para superar esta limitacién) = zoom digital, modo escena, balance de blanco, efectos de color y modo macro ‘= mejoras en el teclado virtual = soporte para nuevos tamaiios y resoluciones de pantalla = contacts répidos = Bluetooth 2.1 ‘= soporte nativo de la red social Facebook ‘= mejoras en Google Maps, que pasaba a ser mul titéctil y soportar eapas (como Wikipedia) «= soporte de Microsoft Exchange ‘= mejoras en el ealendatio. Android. Oscar Avila Mejia En Diciembre de 2009 se publicé una pequeiia revi- sion, Android 2.0.1, que mejoraba la duracién de la batetia y la estabilidad, la Hamada a tres, el GPS, el bluetooth, y la velocidad de disparo y auto enfo- que de la camara, Android 2.1, que llegé a los méviles en Enero de 2010, también se considera una actualizacién menor y no cambia de nombre de versién. Entre otras cosas trae: reconocimiento de voz, ahora se puede dictar en lugar de escribir en cualquier eampo de texto = mejoras en el teelado virtval * galeria 8D, al estilo Cover Flow ‘= uso del gesto de “pellizear” para hacer zoom en el navegador, la galeria y en Google Maps ‘= muevas aplicaciones de reloj/tiempo y noticias = mejoras en Google Maps: sincronizacién de nues- ‘ros sitios favoritos, modo noche y auto completa- do de bisquedas © Google Goggles '* mejoras en la duracién de la baterfa, Android 2.2 (Freyo) Su lanzamiento fue en mayo de 2010, esté basado en el kemel de Linux 2.6.32 ¢ incluye = mejora de memoria ‘= mayor rendimiento que las versiones anteriores, += hotspot WiFi, tethering USB ineluido. Esto es, se ofrece anclaje a red usando el dispositive como un puente para proporcionar acceso a Internet. = Integracién del motor JavaScript V8 del Google Chrome en la aplieacién Browser (navegador) += soporte de correo electrénico Microsoft Exchange yy video llamada += es posible desactivar el tréfico de datos a través de In red del operador = Soporte para contrasefias numéricas y alfamumé "Software de intern grifics en tr dimensiones integrado en productos Apple 49 = Soporte para campos de carga de archivos en la aplicacién Browser = Soporte para Ia instalacién de aplicacién en la me- moria expandible » Soporte para Adobe Flash 10.1 * Soporte para pantallas de alta resolucién Android 2.3 (Ginger Bread) Se lanaé en Diciembre de 2010 y esta basado en el kemel de Linux 2.6.35.7, Aqui las mejoras son: 1 mejor soporte de video online = mejor gestién de la energia (y consumo de la bateria) mejora del teclado virtual soporte para pagos mediante NFC7 actualizacién del diseio de la interfaz: de usuario soporte para pantallas extra grandes y resolucio- nes WXGA y mayores + soporte nativo para telefonia VolP SIP « soporte para reproduccién de videos WebM/VP8 xy decodificacién de audio AAC rnnevos efectos de audio como reverberacién, ecua- lizacién, virtualizacién de los auriculares y refuer- 20 de graves teclado multi-téetil redisefiado soporte mejorado para desarrollo de eédigo nativo = mejoras en la entrada de datos, audio y grificos para desarrolladores de juegos recolecci6n de elementos concurrentes para un ma- ‘yor rendiniento ® soporte nativo para mas sensores (como girosco- pios y barémetros) aininistrador de descargas para descargar archic vos grandes TNFC (Near Field Communication), es una tecnologia de comunicacién inaldmbrica, de alta frecuencia y corto aleance ‘que permite el intereambio de datos entre diapositives a mene eter Contacto$ 83, 43-51 (2012 = mejora la administracién de la energia y el con- trol de aplicaciones mediante la administrador de tareas = soporte native para miiltiples edmaras * funcionalidades de cortar, copiar y pegar disponi- bles a lo largo del sistema, 1 el sistema de archivos cambia de YAFFS a ext Figura 3. Logos de las versiones 1.6 y 2.0. Android 3.0/3.4 (Honey Comb) Su Ianzamiento fue de enero a Mayo 2011 y los cam- bios ineluidas son: + sistema operativo optimizado para tablets « plenas funcionalidades multitareas (multitasking) para cambiar de aplicaciones en uso dejando las demas en espera visibles en una columna * soporte Flash y DivX «= ademés de los navegadores privadas tradicionales integra Dolphin © escritorio 3D personalizable con widgets redi- seiados y redimensionables = soporte para videochat mediante Google Talk ‘= mejor soporte para redes Wi-Fi ® alade soporte para una gran variedad de periféri os y aecesorios con conexién USB. Android 4.0 (Ice Cream Sandwich) Su lanzamiento fue en noviembre de 2011, se trata de Ja versién que unifiea su uso en enalquier dispositivo, tanto en teléfonas, tabletas, televisiones, netbooks. Adomis de esto, se incluye: 1 una interfaz més limpia con tuna nueva fuente a- mada “Roboto” + posibilidad de usar los botones virtuales en la in- terfaz de usuario, en lugar de los botones técti- les capacitivos = aceleracién por hardware, lo que significa que la interfaz podré ser manejada y dibujada por la GPU aumentando notablemente su rapidez, ‘= multitarea mejorada, es posible finalizar una tarea simplemente desplazindola fuera de la lista = incluye un gestor del tréfico de datos de inter net, permite establecer alertas cuando legue a una ierta cantidad de uso y desactivacién del flujo de datos cuando se pasa de un Iii + los widgets estén en una nueva pestafia, que figue ran en una lista similar a Ins aplicaciones en el ‘menti principal + el corrector de texto ha sido rediseftado, dando la opcién de tocar en una palabra para que aparezca ‘una lista con las diferentes opciones de palabras = la captura de pantalla, basta pulsar el botén de bajar volumen y el botén de encendido + Ia aplicacién de la eémara tienen nuevas utilida- des como es la posibilidad de hacer fotografias pa- norémicas de forma automitica = Android Beam es la nueva caracteristiea que per- mite compartir contenido entre teléfonos. Via NEC + reconocimiento de voz del usuario = reconocimiento facial f= las carpetas son mucho mas ficiles de crear, con ‘un estilo de arrastear y soltar = un tinico y nuevo framework para las aplicaciones tendré herramientas para controlar las fe y vengan preinstala- das con el dispositivo, liberando recursos; sin em- Dargo, no se podrén desinstalar + soporte nativo para el uso de Stylus (lapiz téet Market El mereado de Android es una tienda de software cen linea similar a la app store de Apple desarrolla- da por Google para el sistema Android. Se mes- tra como una aplicacién que esté preinstalada en la mayorfa de los dispositivos Android y permite a Android. Oscar Avila Mejia, Figura 4. Apariencia de Android 40 foe Crean Sandwich los usuatios buscar y descargar aplicaciones publi cadas por desatrolladores verceros, todas ellas aloja- das en Android Market. Los usuarios también pue- den busear y obtener informacién sobre aplieacio- nes en esta pigina web. Hasta enero de 2012, An- droid Market dispone de mis de 400.000 aplicacio- nes Ins cuales pueden ser gratuitas o de pago, Dispositivos con Android El sistema operative Android tel6fonos, sin embargo a partir de la version 2.0 se e tendi6 a ordenadores portatiles, netbooks, tablets, Google TV, relojes de pulsera, auriculares y otros dispositives plata- forma de hardware principal de Android es la arqui- tectura ARM, aunque como ya se mencion6 hay so- porte para x86 en el proyecto Android-x86, y Goo- gle TV utiliza una versién especial de Android x86. También se han desarrollado dispositivos externos para ejecutar android 4.0 en un televisor que ten- ga uma conexién HDMI y un puerto USB para su ali- ectrodomésticos inclusive). Li Figura 5. HDMI Dongle, permite un televisor Referencias 1, Rick Rogers, John Lombardo, nieks, G. Blake Meike Android tion Development urd Med- Applica- Programming with the Goo- DK. O'Reilli, 2009. http: //uww.android.con/ http://swe.openhandsetalliance.con/ http: //swa.alwaysinnovating.com/products le ‘Jndnidongie.hem

También podría gustarte