Академический Документы
Профессиональный Документы
Культура Документы
Les explicamos de forma fácil y cercana qué es el ADB y la depuración USB en Android. Dos
herramientas muy útiles que se sabe muy poco de ellas.
Si estás familiarizados con el mundo del root, las ROMs modificadas e ir un poco más allá
con nuestro Android, seguro que les sonarán las palabras ADB y depuración USB. Pero no
todos sabrán qué hay detrás de estados dos herramientas.
Tanto el ADB como la depuración USB están enfocadas al ámbito del desarrollo de
software en Android. Ambas herramientas se necesitan la una a la otra. Si has utilizado
ADB en alguna ocasión, habrás tenido que habilitar la depuración USB. Esto es así.
Así que, a modo de pequeña clase sobre desarrollo en Android, hoy vamos a explicar qué
es el ADB y la depuración USB. Dos herramientas que no sirven para mucho para el resto
de usuarios, pero para lo que se utiliza, funciona genial.
Esta herramienta, que hemos podido utilizar, por ejemplo, para instalar una actualización
OTA antes de que nos llegue automáticamente, está incluida en el SDK de Android. Para los
que no lo sepan, SDK son las siglas de Software Development Kit. Pero, ¿por qué sirve para
actualizar una OTA?
El cliente se ejecuta desde una línea de comandos y te permite ejecutar distintas acciones
sobre Android.
El servidor se encarga de gestionar la comunicación entre el cliente y el daemon
El daemon será el proceso que se ejecutará en cada dispositivo Android y que permitirá al
cliente comunicarse con él.
No sólo se puede actualizar tu Android con un archivo OTA capturado. Se pueden hacer
muchísimas cosas. Desde instalar un APK o copiar un archivo hasta configurar el reenvío de
paquetes por distintos puertos. Una herramienta centrada en el desarrollo. También
puede servir para cambiar los DPI de tu pantalla.
Una de las muchas razones por la que una gran cantidad de usuarios elegimos Android es
por la facilidad de uso y las muchas cosas que podemos hacer cuando conectamos nuestro
dispositivo al ordenador. Muchas veces, al actualizar el teléfono o tablet a una nueva
versión, ponerle una ROM cocinada o conseguir permisos de superusuario (root),
necesitamos tener más contacto con el aparato que el que nos da el programa que usemos
en ese instante (Odín en los Samsung, por ejemplo). El ADB (Android Debug Bridge) es un
programa para ordenador que nos servirá de puente para conectar nuestros androides a la
computadora y poder así interactuar con ellos de una forma más “avanzada” y completa.
Vamos a ver cómo se hace y algunos comandos básicos.
Para los usuarios de Linux o Mac, necesitarán instalar el SDK de Android tal y como se
explica en el sitio web oficial. No es difícil si se siguen las pautas señaladas.
Para los que usan Windows es tan sencillo como descargar este archivo, abrir el zip y
descomprimir en algún lugar la carpeta “android-tools“. Si no tenemos los drivers de
nuestro teléfono instalado, deberemos buscarlos e instalarlos. Luego de instalar el archivo
ADB.exe, podemos continuar.
Es importante tener la “Depuración USB” activada en nuestro androide para que todo
funcione perfectamente
¿Qué es el Bootloader?
La palabra kernel es un de esos conceptos que circulan habitualmente en el mundo de la terminología Android en boca
de muchos usuarios. Sin embargo, creo que no me precipito si afirmo que, seguramente, la mayoría no sabría qué
responder si le preguntamos qué es exactamente. Por eso aquí os explicamos qué es el kernel y para qué sirve.¿Qué es el
Kernel?
El kernel o núcleo es la parte central o el corazón de cualquier sistema operativo. Se podría decir que el kernel funciona
como intermediaro entre el software y el hardware, puesto que es el que recibe las órdenes de los elementos del sistema
operativo para enviarlas al procesador u otros elementos del hardware para que se ejecuten.
El kernel es la primera capa de software donde tenemos los drivers que controlan todos los componentes del hardware
como: pantalla, cámara, bluetooth, memoria, USB, Wi-Fi, Audio, Carga, CPU, etc.
En el caso del sistema operativo Android el kernel es de tipo Linux. Hay otros sistemas que también utilizan Linux como
kernel. El más conocido, a parte de Android, es GNU (también conocido como GNU/Linux), cuyos máximos exponentes
son Debian y Ubuntu.
En concreto Android utiliza el Linux Kernel con soporte a largo plazo (long term support, LTS), como 3.4, 3.10 o 3.18. En
sistemas operativos de escritorio basados en GNU/Linux el kernel se suele actualizar en su versión "vanilla" que es la
última que se libera, la que está en constante desarrollo y no la LTS que es la última más estable. Por ello a veces parece
que el kernel de Android va un poco por detrás, pero en realidad se trata de la última versión estable y por supuesto
recibe parches de seguridad cuando se descubre una vulnerabilidad.
Instalar un nuevo kernel no está al alcance de todos. Normalmente es una actualización que manda el fabricante via OTA,
pero esto pasa muy pocas.
Instalar un kernel manualmente solo está disponible para aquellos que han instalado un recovery personalizado, como
TWRP. Desde este custom recovery vamos a poder flahsear un nuevo kernel en nuestro dispositivo pero cuidado es un
proceso peligroso y tiene que estar desarrollado específicamente para nuestro modelo de dispositivo en concreto.
Si además tenemos el sistema rooteado también podemos modificar algunos parámetros que puedes gestionar
fácilmente con algu
na aplicación.
El bootloader es un programa desarrollado por el fabricante del propio dispositivo para que
funcione con su hardware en concreto. Cuando enciendes el smartphone el bootloader realiza
unos test para comprobar en qué partes de la memoria se encuentra el kernel o el recovery para
cargar una de estas partes.
Se llama gestor de arranque o bootloader y es necesario para tener acceso al modo recovery, el cual es importante para
realizar wipes, restaurar de fábrica y poder flashear ROMs. En los dispositivos Samsung es conocido como modo descarga
y está separado del Recovery Mode. Hoy os explicamos cómo se accede a él desde vuestro smartphone Android y una
demostración con vídeo.
Si pulsas el botón de encendido el bootloader entiende que quieres cargar el sistema operativo y
por eso elige el kernel para arrancar. Si por el contrario pulsas la combinación de teclas para entrar
en el recovery (reboot bootloader, restart bootloader), el bootloader elegirá cargar la parte de
memoria donde se guarda el recovery.
Por defecto el bootloader está bloqueado, esto significa que solo puede arrancar una partición que
tenga la firma digital del fabricante o de la operadora, ya sea el sistema operativo original o el
recovery del fabricante.
Para poder instalar otro sistema operativo u otro custom recovery debemos poder cargar una
parte de la memoria que no está firmada por el fabricante, lo que implica desbloquear el
bootloader o incluso reemplazarlo y en la mayoría de los casos esto anula la garantía del
fabricante.
El bootloader está bloqueado para que sólo lea el sistema Android que el fabricante instala. O
dicho de otra manera, el bootloader se usa como sistema de bloqueo de ROMs que no sean
oficiales. Aquí nace la polémica, ya que el bootloader funciona como una especie de aduana que el
software tiene que pasar para poder ser ejecutado en nuestros dispositivos. Esto implica que si
queremos instalar una ROM no oficial, antes tendremos que desbloquear el famoso bootloader, lo
cual no siempre es sencillo y supone la perdida de la garantía.
De aquí nace también la polémica sobre perder la garantía al rootear el dispositivo. El problema
radica en el bootloader ya que en la gran mayoría de los casos de rooteo se modifica el bootloader.
¿Qué es el recovery?
Para entrar en el recovery o en modo recovery debemos pulsar una combinación de teclas, que
puede variar según el dispositivo. En algunos casos primero entramos en orto modo previo
llamada bootloader o fastboot y desde aquí podemos seleccionar el recovery.
Tipos de Recovery
Existen dos tipos de recoverys: stock y custom. La principal diferencia entre los dos es que los stock
recovery es del fabricante y los custom recovery son creados por la comunidad.
El stock recovery o recovery a secas que tiene cada smartphone por defecto es el que cada
fabricante instala en sus dispositos para ofrecer un mínimo de opciones para recuperar el sistema.
Las opciones de este tipo de recoverys van depender un poco de cada fabricante pero en general
son un poco limitadas.
Los custom recoverys están desarrollados por la comunidad para tener opciones avanzadas que
ayudan en el rooteo e instalación de ROMs o las GApps. Al no ser un soporte oficial del fabricante
no hay custom recovery de todos los dispositivos solo de aquellos que tienen un grupo de
desarrolladores altruistas detrás.
El custom recovery más famoso es TWRP (Team Win Recovery Project) el cual soporta a un gran
número de dispositivos. El método de instalación es a través del ADB y Fastboot.
Stock recovery
Las funciones que ofrece el modo recovery que viene por defecto en nuestros smartphones
depende mucho del fabricantes, como ya hemos dicho. Aquí os dejo todas las funciones que tiene
el recovery que Google instala en sus Nexus:
Reboot system now: reinicia el teléfono normal, es decir, arranca el sistema operativo Android.
Apply Update from ADB: para instalar una actualización desde un ordenador con el ADB, el
llamado sideload.
Apply Update from SD card: para instalar una actualización desde un archivo guardado en el
memoria interna del teléfono o en la tarjeta microSD.
Wipe Data/factory reset: borra todos los datos del usuario (Fotos, documentos, apps instaladas,
etc) dejando al dispositivo como recién salido de la caja.
View recovery logs: para acceder al registro de eventos del recovery para tener información de que
a sucedido si ha ocurrido un problema.
Custom recovery
Con un custom recovery instalado en la partición del recovery tenemos mejor acceso al resto de
particiones del smartphone, para instalar otro software o para hacer backups. TWRP es el custom
recovery más extendido, con un amplio abanico de dispositivos soportados y además es tactil.
Las principales funciones que podemos realizar con el custom recovery de TWRP son:
Pasar archivos a la memoria interna del teléfono desde un ordenador gracias a un cable USB
Montar particiones
twrp wipe
QUE ES ADB Y FASBOOT
A estas alturas supongo que casi todos vosotros sabéis qué es ser root en Android, pero esto no
tiene por qué significar que sabemos todos los entresijos que esconde el acceso root. Dos de los
términos que se barajan junto con root, recovery y ROMs son ADB y Fastboot. En este Android para
Principiantes os contamos qué es el ADB, qué es el Fastboot, cómo instalarlos y sus principales
comandos.
Windows
Mac
Linux
Las siglas ADB significan Android Debug Bridge y se corresponden con una herramienta de
software que nos permite interactuar con nuestro smartphone Android desde un ordenador. Así,
por ejemplo, a través de ADB podemos ejecutar comandos para copiar archivos desde el
ordenador al teléfono, del teléfono al ordenador o reiniciar el dispositivo en el modo bootloader.
Con estas dos herramientas vamos a poder cambiar profundamente el software de nuestro
smartphone o por lo menos acceder a él. Por supuesto, todo esto se hace posible a través de un
cable USB para conectar el smartphone al ordenador.
El ADB es una parte fundamental de Android Studio, el software para desarrollar aplicaciones en
Android. Para obtener el ADB no es necesario instalar Android Studio al completo solo necesitamos
algunas partes del SDK. Primero vamos a crear una carpeta SDK en C:/ para encontrarla fácil a la
hora de instalar. Ahora vamos a la página de descarga del Android Studio y abajo del todo en el
apartado de 'Obtener solo las herramientas de línea de comando' tenemos un paquete
comprimido con extensión .zip, este es el que debemos descargar. Ahora vamos a descomprimir la
carpeta que contiene y la colocamos en nuestra carpeta C:/SDK/.
Ahora entramos en C:/SDK/android-sdk-windows y ejecutamos el archivo 'SDK Manager.exe'. En el
SDK Manager vamos a instalar las herramientas y los drivers. Para ello marcamos solo estas
pestañas en Tools y Extras:
Una vez marcadas las casillas pulsamos sobre 'Install'. Cuando termine el proceso vamos a tener
instalados el ADB y el Fastboot. Para poder empezar a usarlos nos vamos a dirigir a la carperta
C:\SDK\android-sdk-windows\platform-tools con el explorador de archivos de Windows y sobre un
lugar en blanco pulsaremos shit + botón derecho del ratón y selecionaremos 'Abrir ventana de
comandos aquí'.
Para Mac también puedes conseguir el ADB y Fastboot desde las tools de Android Studio o instalar
Homebrew y descargar el paquete con el comando brew install android-platform-tools.
Drivers, ADB y Fastboot en Linux
En Linux basta con instalar el paquete android-platform-tools y usarlo desde la consola. Para las
distros basadas en Debian lo instalaresmos con:
Para los comandos ADB en linux no hacen falta permisos root, pero para los comandos del
Fastboot sí.
adb devices
Con este comando obtenemos una lista de todos los dispositivos conectados al ordenador. Esto es
muy útil para saber que nuestro dispositivo ha sido reconocido por el ordenador y en el caso de
que conectemos más de un dispositivo a la vez.
adb reboot
adb reboot-recovery
Para reiniciar en modo recovery, por si necesitamos instalar algún archivo zip desde aquí.
adb reboot-bootloader
Con este comando vamos a poder guardar el logcat por si tenemos problemas y necesitamos
ayuda. Este es el registro de todas las operaciones que realiza el dispositivo.
Este comando copia el archivo especificado desde nuestro ordenador hacia el smartphone. Las
rutas de archivo del comando son a modo de ejemplo, por tanto se tienen que adaptar en cada
caso. Primero la ruta del archivo que está en el ordenador y luego la ruta donde lo quieres copiar
en el smartphone. Atención a la dirección de las barras por que son diferentes.
Con este comando conseguimos lo contrario que con el anterior, esto es, cargar un archivo desde
nuestro smartphone/tablet al ordenador. De nuevo, las rutas se tienen que adaptar a cada caso.
Ahora ponemos primero la ruta del archivo en el smartphone y detrás la ruta en el ordenador.
Estos comandos sirven para crear una captura de pantalla de nuestro teléfono que quedará
almacenada en la ruta que elijamos del smartphone.
Como podéis deducir, éste sirve para instalar una APK, una aplicación, en nuestro smartphone
desde el ordenador. Para ello tenemos que indicar la ruta completa de donde se encuentra la
aplicación. Las comillas son necesarias si los nombre de las carpetas o archivos tienen espacios, si
no los tienen las puedes obviar.
adb backup -f FullBackup.ab -apk -all
Con este comando vamos hacer una copia de seguridad de todas las aplicaciones con sus datos. En
la práctica nos todas las aplicaciones son compatibles con la copia de seguridad a través del ADB,
así que la restauración puede ser un poco tortuosa y llena de sorpresas.
adb help
Muestra en pantalla todos y cada uno de los comandos que se pueden ejecutar en el ADB con una
descripción general.
fastboot devices
Con este comando obtenemos una lista de todos los dispositivos conectados al ordenador. Esto es
muy útil para saber que nuestro dispositivo ha sido reconocido por el ordenador y en el caso de
que conectemos más de un dispositivo a la vez.
Con esta instrucción vamos a poder desbloquear el bootloader del dispositivo. En algunos casos
vamos a tener que añadir a esta instrucción un código de desbloqueo que no va a facilitar el
fabricante de nuestro smartphone.
fastboot reboot
fastboot reboot-bootloader
Hasta aquí nuestra lista de los comandos ADB y Fastboot más importantes. Por supuesto, existen
muchos más. ¿Habéis utilizado alguna el ADB y el Fastboot? ¿Creéis que debería añadir alguno
más? ¡Comparte tu opinión en los comentarios!
PRE LOADER
A menos que hayas usado tu dispositivo Android solamente para hacer llamadas, enviar SMS,
navegar o usar aplicaciones básicas, deberías saber que Android usa una serie de particiones para
organizar los ficheros y carpetas del dispositivo. Cada una de estas particiones tiene un rol distinto
en la funcionalidad del dispositivo, pero no todos los usuarios de Android conocen su significado y
contenido. Esta guía pretende ayudar a comprender cúales son, qué contienen y qué posibles
consecuencias tendría modificar o borrar el contenido de las mismas. Esto es útil para saber qué
estamos haciendo cuando, al instalar una ROM cocinada, se nos pide que previamente hagamos
ciertas acciones como wipe cache, o wipe data / factory reset, o formatear ciertas particiones.
Por un lado tenemos las particiones estándar de la memoria interna. Tanto en smartphones como
en tablets tenemos:
/boot
/system
/recovery
/data
/cache
/misc
/sd-ext
/boot
/system
/recovery
/data
Esta partición contiene los datos del usuario, es decir, todo lo que el usuario ha creado o
modificado, por ejemplo tenemos esta lista de datos que pertenecen a esta partición:
Aplicaciones y widgets instalados (no las que venían pre instaladas en el dipositivo, las cuales están
en la partición /system)
Emails
Favoritos (o marcadores)
Fondos de pantalla
Kernel
Modem / Radio
Caches
Temas (themes)
/cache
Esta partición es en la que Android guarda datos a los que el usuario accede con frecuencia, para
que la carga de estos datos sea mucho más rápida cuando sea solicitada. Esto hace que tareas
frecuentes funcionen mucho más rápido que otras que no sean tan habituales. Limpiar esta
partición no afectará en absoluto a los datos personales, simplemente afectará a esta
funcionalidad que pretende mejorar el rendimiento del dispositivo. En cualquier caso, una vez
limpia, con el uso se volverá a rellenar con los datos que el sistema operativo considere más
oportunos.
/misc
/sdcard
Esta partición pertenece a la tarjeta SD. Aquí es donde se guardan los datos que se quieran
almacenar, como archivos multimedia, documentos, ROMs, y un largo etcétera, pero además
muchas aplicaciones instaladas por el usuario guardan aquí todos los datos y configuraciones. Esta
partición se puede borrar, siempre y cuando se hayan hecho copias de seguridad de los datos. Por
un lado, los documentos o cualquier información incluida por el usuario, se debe de mover al PC, y
para las aplicaciones se pueden hacer copias de seguridad con programas como Titanium Backup o
con MyBackup. Para más información visita Backup de Aplicaciones, Contactos, SMS, MMS,
Llamadas, etc. con MyBackup
Al registrarte dejarás de ver este anuncio. Anímate, es gratis, rápido y sin PUBLICIDAD!
En los dispositivos que tengan una tarjeta SD interna y otra externa, como por ejemplo el Samsung
Galaxy S o muchas tablets, la partición /sdcard siempre se refiere a la SD interna. Para la externa, si
es que la tiene, se muestra en una partición alternativa que no es la misma en todos los
dispositivos. En el caso del Samsung Galaxy S, por ejemplo, se encuentra en /sdcard/sd, mientras
que en otros dispositivo está en /sdcard2.
/sd-ext
Por último, la partición /sd-ext, no es una partición estándar, aunque se ha convertido muy popular
en el mundo de la Scene de Android. Básicamente es una partición adicional de la tarjeta SD que
actúa como una extensión de la partición /data, cuando se usa con ciertas ROMS que tienen una
funcionalidad especial llamada APP2SD+ o data2ext. Es especialmente útil en dispositivos con una
memoria interna muy pequeña. Puede usarse para instalar aplicaciones más allá de las que la
memoria interna permite, siempre y cuando la ROM que se tenga instalada, tenga activada esta
capacidad.
Borrar esta partición será esencialmente lo mismo que borrar la partición /data, es decir, se
pueden perder contactos, SMS, aplicaciones instaladas por el usuario, etc.
saludos...