Curso de Android

De WikiEducator
Saltar a: navegación, buscar


A continuación algunos conceptos básicos para "entrar en escena"

http://androidforums.com/evo-4g-all-things-root/278898-android-partitions-kernels-explained.html

http://androidforums.com/evo-4g-all-things-root/279261-more-information-about-android-partitions.html

rooting

  • Rooting es el proceso de adquirir privilegios de administrador en un dispositivo Android.
  • El usuario root es el usuario administrador en los sistemas operativos Linux/Unix.
  • Android es un sistema operativo basado en Linux.
  • En algunos dispositivos no es necesario desbloquear el bootloader para hacerse root. En otros es un requerimiento obligado
  • Una vez rooteado se pueden reemplazar programas preinstalados o modificar y reemplazar ficheros de sistema o realizar cualquier operación de bajo nivel.

jailbreaking

  • Los dispositivos Apple tienen fuertes restricciones respecto al software que se ejecuta en sus dispositivos.
  • Hacer jailbreak permitirá:
    • Instalar software no oficial o desde fuera del App Store
    • Permitir a las aplicaciones permisos especiales (rooting)
    • Instalar aplicaciones desde fuera del App Store
    • Instalar extensiones, temas y otras modificaciones al comportamiento y al look&feel de iOS.

Diferencias entre Android y iOS

  • Android por defecto permite sideload o cambiar el aspecto del sistema sin necesidad de hacer rooting.
  • Piensa en Matrix: Jailbreak sería comparablea lo que puede hace Morpheus y Rooting a lo que hace Neo.

"side-loading"

Es el proceso de cargar aplicaciones de fuentes distintas al store. En Android es sencillo, simplemente marcar un checkbox en los Ajustes del dispositivo. En iPhone no es tan sencillo ya que implica hacer el jailbreak. Como excepción hay dispositivos con versiones de Android muy restrictivas. Son casos típicos para instalar ROMS cocinadas.


"flashing"

Proceso de cargar software en el dispositivo (memoria flash). Hay dos formas habituales de flashear un dispositivo: Usando el programa fastboot desde el PC y teniendo el dispositivo conectado al mismo (normalmente por usb). Se debe arrancar el dispositivo en modo fastboot. Y se usa el programa para hacer un push de nuevos programas al dispositivo. Usando el modo de recuperación del dispositivo, sin utilizar un ordenador. El dispositivo se debe iniciar en modo de recuperación.

"unlock o desbloqueo de un terminal"

Permitir que el terminal funcione con distintas operadoras de telefonía. Un teléfono desbloqueado debe aún así cumplir los requisitos de la red móvil de las operadoras:

Usar un sistema compatible (GSM o CDMA)
Soportar las frecuencias de la nueva operadora.

superCID

Es el Carrier Identification. Un número que determina que software se pueden instalar en un dispositivo. Se verifica la firma oficial del software con el CID del dispositivo, que deben coincidir. You may also hear the term "SuperCID" in reference to unlocking phones.

Es similar a la codificación por regiones de los DVD's que hace que un DVD estadounidense no se pueda reproducir en Europa sin hackear el reproductor.

unlock o desbloqueo del bootloader

  • No es lo mismo que desbloquear el teléfono.

Se refiere a desbloquear el bootloader. El bootloader viene siempre bloqueado por defecto. Los OEM (Original Equipment Manufacturer) normalmente te dan la clave de desbloqueo, que se asemeja a la llave de la casa. Algunos te dan una herramienta que puedes bajar de su website para desbloquear el bootloader pero otros no. En este caso la comunidad intenta averiguar vulnerabilidades de seguridad para desbloquearlo (exploits). Si el bootloader está bloqueado no se puede flashear una ROM cocinada, no se pueden editar ficheros del sistema, sustituir la imagen por una de recuperación del sistema o instalar aplicaciones especializadas (Titanium Backup, adb wireless, etc.) El usuario estándar no tendrá nunca necesidad de hacer un unlocking.

  • El bootloader es en casí cualquier entorno de sistemas operativos (no solo Android), el primer código que se ejecuta en la máquina. Su función será cargar y ejecutar el sistema operativo. Al ser un código pequeño, está compuesto de las funciones más básicas.
  • El bootloader tiene dependencia con el hardware lo que explica que cada teléfono o tableta, así como PC's o portatiles tengan distintos bootloaders.
  • Un bootloader bloqueado normalmente restringirá el tipo de load que haga.
  • ¿Si Android es un sistema operativo de código libre por qué los bootloader están bloquedos?

Lo primero de todo, el bootloader no es parte de Android. Los fabricantes de dispositivos desean mantener políticas restrictivas de operadoras, bloqueos de características o para evitar un bricking del movil.

  • Android siendo opensource, no restringe de forma inherente el acceso al dispositivo a los usuarios finales.
  • Los dispositivos Google Nexus están preparados para instalar sistemas operativos custom (ROM cocinadas) desbloqueando el bootloader mediante la herramienta fastboot, presente en el Android SDK: fastboot oem unlock
  • Algunos fabricantes también permiten desbloquear el bootloader, por ejemplo htc, pero no todos.

S-OFF (Security OFF) Mode

Algunos bootloader incluyen un modo "Security ON" (AKA "S-ON") y se imponen restricciones en el arranque como por ejemplo poner el SO en modo de solo lectura. Cambiar el modo del bootloader a S-OFF será un requisito indispensable para modificar o cambiar el sistema operativo.

ROM, firmware, sistema operativo

En la documentación de Android se refiere a la misma cosa. Al sistema operativo que corre en el dispositivo. Se ha denominado habitualmente ROM porque no está concebido en principio para ser modificado por el usuario. Hablaremos por ejemplo de flashear una ROM cuando cojamos un sistema operativo y lo copiemos en la memoria Flash del dispositivo. Cuando hablamos de distintas ROMS, nos referimos a versiones modificadas de Android. ¿Por qué podemos querer instalar una versión modificada?

Las fuentes de Android se liberan una o dos veces al año
Mi dispositivo no recibe actualizaciones
El dispositivo funciona lento o tiene spyware o adware (por ejemplo de los operadores de telefonía).
Al dispositivo le faltan características o se han limitado por los operadores de telefonía.

Imágenes

Cuando hablamos de imágenes hablamos de sistemas operativos autocontenidos (self-contained operating system). Una imagen del sistema es lo parte de Android que se usa cada día. También está la recovery image, que normalmente solo se ve cuando se instala una actualización OTA (over the air). Está recovery image es lo que usan los "power users" para recoverys avanzados, backups y flashear ROMS cocinadas y kernels.

hboot

  • HBOOT es el bootloader. It lives inside NAND's first partition, mtd0 (if partition map is MTD). It is loaded in memory (RAM) when device is switched ON. Its jobs are:
  • Las funciones básicas son:
Comprobar el hardware
Inicializar el hardware
Arrancar el sistema operativo (Android o el recovery)


  • ClockworkMod Recovery (CWM)

Es uno de los custom recoveries para Android más populares. Clockworkmod Recovery es un pequeño sistema operativo guardado en una partición independiente de nuestro teléfono. Dicha partición es arrancada por el "bootloader" (arranque) cuando seleccionamos la entrada "recovery". Ofrece una gran funcionalidad (hacer particiones y dar formato la microsd, hacer backups, instalar roms y actualizaciones, dejar el móvil con los valores de fábrica ...).

El CWM recovery desaparecerá de tu móvil si flasheas.

Team Win Recovery Project 2.x, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. It’s a fully touch driven user interface – no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.


  • ADB
Comandos con adb