FICHA DE IDENTIFICACIÓN DE TRABAJO DE INVESTIGACIÓN
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
Fecha: 25/04/2017
Código de estudiante:
Carrera: Ingeniería de Sistemas
Asignatura: Sistemas Operativos
Grupo: A
Docente: Ing. Edwin Windsor Jara Arias
Subsede: Cochabamba
Copyright © (2017) por (Thomas Clavijo). Todos los derechos reservados.
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
TABLA DE CONTENIDOS
Introducción ............................................................................................................................ 3
Capítulo I: Descripcion ............................................................................................................ 4
1.1 Android .................................................................................................................... 4
1.2 Arquitectura ............................................................................................................. 4
1.3 Características............................................................................................................. 5
1.4 Ventajas...................................................................................................................... 7
1.5 Desventajas.................................................................................................................. 8
1.6 versiones .................................................................................................................... 9
1.7 ADB .......................................................................................................................... 10
1.8 Comandos ................................................................................................................ 13
Capítulo II: Aplicaciones ........................................................................................................ 14
2.1. Android y SDK.................................................................................................... 14
2.2. Google play.......................................................................................................... 14
2.3. Android Pay ........................................................................................................ 15
Capítulo III: Ejercicios ........................................................................................................... 15
Asignatura: Sistema Operativo 2
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Introducción
En octubre de 2003, en la localidad de Palo Alto, Andy Rubin, Rich Miner, Chris
White y Nick Sears fundan Android Inc. con el objetivo de desarrollar un sistema
operativo para móviles basado en Linux. En julio de 2005, la
multinacional Google compra Android Inc.
El 5 de noviembre de 2007 se crea la Open Handset Alliance, un conglomerado
de fabricantes y desarrolladores de hardware, software y operadores de servicio.10El
mismo día se anuncia la primera versión del sistema operativo: Android 1.0 Apple Pie.
Los terminales con Android no estarían disponibles hasta el año 2008. 19 Las
unidades vendidas de teléfonos inteligentes con Android se ubican en el primer
puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010,20 2122 con
una cuota de mercado de 43,6% en el tercer trimestre.23 A escala mundial alcanzó
una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble
que el segundo sistema operativo (iOS de Apple, Inc.)
El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con
la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware,
software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para
dispositivos móviles.28 29 Google liberó la mayoría del código de Android bajo
la licenciaApache, una licencia libre y de código abierto.30
La estructura del sistema operativo Android se compone de aplicaciones que se
ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de
las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de
ejecución hasta la versión 5.0
Asignatura: Sistema Operativo 3
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Capítulo I: Descripcion
1.1 Android
Es una plataforma de software para dispositivos móviles que incluye un
Sistema Operativo y aplicaciones de base.
Android es un conjunto de herramientas y aplicaciones vinculadas a
una distribución Linux para dispositivos móviles. Por sí solo no es un Sistema
Operativo Android es de código abierto, gratuito y no requiere pago de licencias.
Android es una plataforma de código abierto para dispositivos móviles que está
basada en Linux y desarrollada por Open Handset Alliance, se prevé que los primeros
teléfonos con Android aparezcan en el segundo semestre de 2008 y companías
poderosas como LG, Motorola y HTC ya han diseñado alguno de los prototipos que
incorporarán el Sistema Android.
1.2 Arquitectura
• Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico,
programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones
están escritas en lenguaje de programación Java.
• Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a
los mismos APIs del framework usados por las aplicaciones base. La arquitectura está
diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar
sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades
(sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los
componentes sean reemplazados por el usuario.
• Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por
varios componentes del sistema. Estas características se exponen 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 gráficos, 3D y
SQLite, entre otras.
• Runtime de Android: Android incluye un set de bibliotecas base que
proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje
Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina
virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples
Asignatura: Sistema Operativo 4
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
máquinas virtuales de forma eficiente. Dalvik ejecutaba hasta la versión 5.0 archivos en el
formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina
Virtual está basada en registros y corre clases compiladas por el compilador de Java que han
sido transformadas al formato.dex por la herramienta incluida "dx". Desde la versión 5.0 utiliza
el ART, que compila totalmente al momento de instalación de la aplicación.
• Núcleo Linux: Android depende de Linux para los servicios base del sistema
como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de
controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el
resto de la pila de software.
1.3 Características
La plataforma es adaptable a pantallas de mayor resolución, VGA,
Diseño de biblioteca de gráficos 2D, biblioteca de gráficos 3D basada en las
dispositivo especificaciones de la OpenGL ES 2.0 y diseño de teléfonos
tradicionales.
SQLite, una base de datos liviana, que es usada para propósitos de
Almacenamiento
almacenamiento de datos.
Android soporta las siguientes tecnologías de
conectividad: GSM/EDGE, IDEN, CDMA, EV-
Conectividad
DO, UMTS, Bluetooth, Wi-Fi, LTE, HSDPA, HSPA+, NFC y WiMAX,
GPRS, UMTS y HSDPA+.
SMS y MMS son formas de mensajería, incluyendo mensajería de
texto, además del servicio de Firebase Cloud Messaging (FCM)
Mensajería siendo la nueva versión de Google Cloud Messaging (GCM) bajo la
marca Firebase con los nuevos SDK para realizar el desarrollo de
mensajería en la nube mucho más sencillo.
El navegador web incluido en Android está basado en el motor de
renderizado de código abierto WebKit, emparejado con el motor
Navegador web
JavaScript V8 de Google Chrome. El navegador por defecto de Ice
Cream Sandwich obtiene una puntuación de 100/100 en el test Acid3.
Asignatura: Sistema Operativo 5
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Aunque la mayoría de las aplicaciones están escritas en Java, no hay
una máquina virtual Java en la plataforma. El bytecode Java no es
ejecutado, sino que primero se compila en un ejecutable Dalvik y se
ejecuta en la Máquina Virtual Dalvik, Dalvik es una máquina virtual
Soporte de Java especializada, diseñada específicamente para Android y optimizada
para dipositivos móviles que funcionan con batería y que tienen
memoria y procesador limitados. A partir de la versión 5.0, se utiliza
el Android Runtime (ART). El soporte para J2ME puede ser agregado
mediante aplicaciones de terceros como el J2ME MIDP Runner.
Android soporta los siguientes formatos
multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4
Soporte
SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HE-AAC (en
multimedia
contenedores MP4 o 3GP), MP3, MIDI, Ogg
Vorbis, WAV, JPEG, PNG, GIF y BMP.
Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de
HTML (HTML5 <video> tag). Adobe Flash Streaming (RTMP) es
Soporte para soportado mediante el Adobe Flash Player. Se planea el soporte de
streaming Microsoft Smooth Streaming con el port de Silverlight a Android.
Adobe Flash HTTP Dynamic Streaming estará disponible mediante
una actualización de Adobe Flash Player.
Android soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS,
Soporte para
acelerómetros, giroscopios, magnetómetros, sensores de proximidad y
hardware
de presión, sensores de luz, gamepad, termómetro, aceleración por
adicional
GPU 2D y 3D.
Incluye un emulador de dispositivos, herramientas para depuración de
memoria y análisis del rendimiento del software. Inicialmente el
Entorno de entorno de desarrollo integrado (IDE) utilizado era Eclipse con el
desarrollo plugin de Herramientas de Desarrollo de Android (ADT). Ahora se
considera como entorno oficial Android Studio, descargable desde la
página oficial de desarrolladores de Android.
Google Play es un catálogo de aplicaciones gratuitas o de pago en el
Google Play que pueden ser descargadas e instaladas en dispositivos Android sin
la necesidad de un PC.
Asignatura: Sistema Operativo 6
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Android tiene soporte nativo para pantallas capacitivas con soporte
multi-táctil que inicialmente hicieron su aparición en dispositivos como
el HTC Hero. La funcionalidad fue originalmente desactivada a nivel
Multi-táctil de kernel (posiblemente para evitar infringir patentes de otras
compañías).50 Más tarde, Google publicó una actualización para
el Nexus One y el Motorola Droid que activa el soporte multi-táctil de
forma nativa.
El soporte para A2DF y AVRCP fue agregado en la versión 1.5;52 el
envío de archivos (OPP) y la exploración del directorio telefónico
Bluetooth fueron agregados en la versión 2.0;53 y el marcado por voz junto con
el envío de contactos entre teléfonos lo fueron en la versión 2.2. Los
cambios incluyeron:
Android soporta videollamada a través de Hangouts (ex-Google Talk)
Videollamada
desde su versión HoneyComb.
Multitarea real de aplicaciones está disponible, es decir, las
Multitarea aplicaciones que no estén ejecutándose en primer plano reciben ciclos
de reloj.
Características La búsqueda en Google a través de voz está disponible como
basadas en voz "Entrada de Búsqueda" desde la versión inicial del sistema.
Android soporta tethering, que permite al teléfono ser usado como un
punto de acceso alámbrico o inalámbrico (todos los teléfonos desde la
versión 2.2, no oficial en teléfonos con versión 1.6 o inferiores
Tethering
mediante aplicaciones disponibles en Google Play (por ejemplo
PdaNet). Para permitir a un PC usar la conexión de datos del móvil
Android se podría requerir la instalación de software adicional.
1.4 Ventajas
1. El código de Android es abierto: Google liberó Android bajo licencia Apache.
Cualquier persona puede realizar una aplicación para Android.
2. Hoy día hay más de 650.000 aplicaciones disponibles para teléfonos
Android, aproximadamente 2/3 son gratis. Además la libertad de código
Asignatura: Sistema Operativo 7
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
permite adaptar Android a bastantes otros dispositivos además de teléfonos
celulares. Está implantado en Tablets, GPS, relojes, microondas… incluso hay
por internet una versión de Android para PC.
3. El sistema Android es capaz de hacer funcionar a la vez varias aplicaciones y
además se encarga de gestionarlas, dejarlas en modo suspensión si no se
utilizan e incluso cerrarlas si llevan un periodo determinado de inactividad. De
esta manera se evita un consumo excesivo de batería. Esta es una de sus
mayores ventajas por la rapidez con la que carga una aplicación abierta
previamente. Por ejemplo abro Google Maps y en un momento la aplicación
localiza mi posición en el mapa.
1.5 Desventajas
1. A pesar de ser una ventaja el ser un sistema multitarea: El hecho de tener
varias aplicaciones abiertas hacen que el consumo de la batería aumente y
como no todas las aplicaciones Android las cierra hay que instalar una
aplicación para que las cierre. En la Market de Android hay una buena cantidad
de aplicaciones para este fin, así que el problema es solucionable pero debería
venir pre instalado de fábrica.
2. Duración de la batería: la batería en un celular Android se agota muy rápido.
Utilizando las aplicaciones de manera moderada la batería puede llegar a durar
más, pero para un usuario que usa mucho sus aplicaciones la batería no tiende
a durar, lo que se puede solucionar con algunas aplicaciones, pero volvemos a
lo mismo no viene pre instalada de fábrica, hace falta una aplicación externa al
sistema Android para optimizar mejor la batería.
3. Poco intuitivo: Para la mayoría el sistema operativo es muy complicado. Por
ejemplo se vuelve complicado configurar el teléfono, esto te puede llevar
mucho tiempo, y esto es generado por la interfaz de Android. Hay aplicaciones
que ayudan en tareas que deberían ser sencillas como desinstalar otras
aplicaciones pero, otra vez, volvemos a lo mismo se hace necesario instalar
aplicaciones para solucionar el problema.
Asignatura: Sistema Operativo 8
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
1.6 versiones
Las versiones de Android reciben, en inglés, el nombre de diferentes postres o
dulces. En cada versión el postre o dulce elegido empieza por una letra distinta, conforme a un
orden alfabético:
Letra Nombre Versión Traducción
A Apple Pie 1.0 Tarta de manzana
B Banana Bread 1.1 Pan de plátano
C Cupcake 1.5 Cupcake
D Donut 1.6 Rosquilla o dónut
E Éclair 2.0 / 2.1 Pepito o relámpago
F Froyo 2.2 Yogur helado
G Gingerbread 2.3 Pan de jengibre
H Honeycomb 3.0 / 3.1 / 3.2 Panal
I Ice Cream Sandwich 4.0 Sándwich de helado
J Jelly Bean 4.1 / 4.2 / 4.3 Gominola o pastilla de goma
K KitKat 4.4 Kit Kat
Asignatura: Sistema Operativo 9
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Letra Nombre Versión Traducción
L Lollipop 5.0 / 5.1 Piruleta62
M Marshmallow 6.0 / 6.0.1 Malvavisco o nube 63
N Nougat 7.0 / 7.1 / 7.1.2 Turrón
O Oreo 8.0 Oreo
1.7 ADB
Lista de comandos (Android Device Bridge)
Cambiar la hora del hardware
# date --set "2012-11-20 16:25"
Para cambiarla en la BIOS:
# hwclock --set --date="2012-11-20 16:25"
Para comprobar:
# hwclock
Listado de comandos cedidos por el sistema operativo
En el siguiente directorio, veréis todos los comandos que están disponibles:
ls /system/bin
Asignatura: Sistema Operativo 10
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Android SDK
Para quien no lo sepa, Android SDK no es más que el nombre que recibe el pack
de herramientas para desarrollar aplicaciones enfocadas al sistema operativo
de Google móvil. Algunos de sus principales comandos son:
Instalar aplicación:
adbinstall aplicacion.apk
Desinstalar aplicación:
adb uninstall com.aplicacion
Reinstalar aplicación:
adb install -r aplicacion.apk
Instalar aplicación en tarjeta SD:
adb install -s aplicacion.apk
Revisar registro del sistema:
adb logcat
Ver procesos del sistema:
adb logcat -v process
Copiar archivos del PC al Smartphone:
adb push c:\prueba.txt /sdcard/prueba.txt
Comprobar dispositivos conectados:
adb devices
Conectar Android al PC vía WIFI:
adb shell setprop service.adb.tcp.port 5000
adb tcpip 5000
adb shell getprop | findstr ipaddress
adb connect 192.168.2.69:5000
adb usb
Reiniciar dispositivo:
adb reboot
Asignatura: Sistema Operativo 11
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Reiniciar en modo bootloader:
adb reboot bootloader
Reiniciar en modo recovery:
adb reboot recovery
Remontar la partición de sistema:
adb remount
Lanzar comandos desde el SDK:
Abrir consola: adb shell
Lanzar comandos:
adb shell [comando a utilizar]
Asignatura: Sistema Operativo 12
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
1.8 Comandos
La mayoría necesitan acceder al supe usuario para poder ser usados. No es necesario
ser root para usar la aplicación, pero si queréis usar los comandos de la lista es más que
recomendable.
Lista de comandos
Reiniciar el dispositivo reboot
Apagar el dispositivo poweroff
Reinciar en modo recovery reboot recovery
Reiniciar en modo download reboot download
Intentar forzar la instalación de aplicaciones en
pm setInstallLocation 2
la tarjeta SD
Comprobar la ruta actual de instalación pm getInstallLocation
Montar la partición de sistema como lectura /
mount -o rw,remount -t /system
escritura (usar con precaución)
Si el comando anterior no funciona, podemos mount -o rw,remount -t ext3
usar este otro /dev/block/mmcblk1p21 /system
Desmontar la partición de sistema en modo
mount -o ro,remount -t /system
lectura / escritura
Si no funciona podemos probar con este mount -o ro,remount -t ext3
comando /dev/block/mmcblk1p21 /system
busybox cp /sdcard/”path”
Mover archivos o directorios de la tarjeta SD al /system/”path” donde path es la ruta
sistema usando Busybox en la que se encuentra dicho
directorio o archivo
Cambiar los permisos de un directorio o un
archivo a rw-r–r– –lectura y escritura para el
administrador, lectura para el propietario y
chmod 644 “path”
lectura para el usuario invitado– después de
montar la partición de sistema como lectura /
escritura
cd “path”. Path es la ruta en la que
Cambiar de directorio
se encuentra dicho directorio
Obtener una lista de todos los directorios y
archivos de una ruta en la que nos ls
encontremos
Crear un directorio en una ruta concreta mkdir “path”
rm “path” donde path es la ruta del
Elminar un archivo
archivo
rmdir “path” donde path es la ruta del
Elminar un directorio
directorio
Asignatura: Sistema Operativo 13
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Capítulo II: Aplicaciones
2.1. Android y SDK
Las aplicaciones se desarrollan habitualmente en el lenguaje Java con Android
Software Development Kit (Android SDK), pero están disponibles otras herramientas
de desarrollo, incluyendo un Kit de Desarrollo Nativo para aplicaciones o extensiones
en C o C++, Google App Inventor, un entorno visual para programadores novatos y
varios marcos de aplicaciones basadas en la web multiteléfono. También es posible
usar las bibliotecas Qt gracias al proyecto Necesitas SDK.
El desarrollo de aplicaciones para Android no requiere aprender lenguajes
complejos de programación. Todo lo que se necesita es un conocimiento aceptable
de Java y estar en posesión del kit de desarrollo de software o «SDK» provisto
por Google el cual se puede descargar gratuitamente.77
Todas las aplicaciones están comprimidas en formato APK, que se pueden
instalar sin dificultad desde cualquier explorador de archivos en la mayoría de
dispositivos.
2.2. Google play
Google Play es la tienda y plataforma en línea de software desarrollado por
Google para dispositivos Android. Una aplicación llamada "Play Store" que se
encuentra instalada en la mayoría de los dispositivos Android que permite a los
usuarios navegar como descargar aplicaciones publicadas para diferentes necesidades
del usuario como apps de música, juegos, noticias, clima, educación, compras, salud,
deportes, mapas y más por los desarrolladores tanto de Google y otros más aunque
hay aplicaciones que se deben comprar para descargar por medio de ciertas formas de
pago que Google play pone a disposición como por Paypal, tarjeta de crédito y canjeo
de códigos de play store para poder usar algunas aplicaciones no gratuitas como
juegos principalmente. Para que el usuario pueda usar esta plataforma de Play store
es necesario asociar una cuenta de gmail con contraseña y usar los beneficios de
Asignatura: Sistema Operativo 14
Carrera: Ingeniería de sistemas
Título: Sistema Operativo Android
Autor: Thomas Clavijo Grandon
__________________________________________________________________________________________________________
Google play. Google retribuye a los desarrolladores el 70% del precio de las
aplicaciones. Esta aplicación reemplazó a "Market".
Por otra parte, los usuarios pueden instalar aplicaciones desde otras tiendas
virtuales (tales como Amazon Appstore 78 o SlideME) o directamente en el dispositivo
si se dispone del archivo APK de la aplicación
2.3. Android Pay
El sistema de pago que le permite comprar usando un teléfono con Android 4.4
o superior y que el smartphone tenga NFC y el local de compra acepten pagos
mediante contacless
Capítulo III: Ejercicios
Cambie la hora del sistema y en la BIOS. Comprobar la hora.
# date --set "2012-11-20 16:25"
# hwclock --set --date="2012-11-20 16:25"
# hwclock
Instale una aplicación y luego compruebe la ruta actual de la instalacion.
pm setInstallLocation
pm getInstallLocation
Cree un directorio. Mueva el directorio de la tarjeta SD al sistema
mkdir “path”
busybox cp /sdcard/”path” /system/”path”
Obtener una lista de todos los directorios y luego eliminar el directorio “path”
ls
rmdir “path”
Asignatura: Sistema Operativo 15
Carrera: Ingeniería de sistemas