Ir al contenido principal

ADB StandAlone [GNU/Linux - Windows]

Hola gente, espero que estén bien, hace mucho que no publico nada pero tengo mis motivos, últimamente estuve muy sumergido en lo que es el desarrollo en Python, también empece a usar mas a fondo Linux y estuve aprendiendo otras cosas así que lo tuve un poco olvidado al blog, así que voy a estar reactivando para compartir conocimiento como siempre hago.

En esta oportunidad vengo a traerles esta útil herramienta llamada "Android Debug Bridge", siglas "ADB", que en español seria algo así como "Conector de depuración de Android", una herramienta independiente al SDK de Android, que es un conjunto de herramientas dedicadas al desarrollo general de Android.
Que sea "standalone" significa que no tendremos que descargarnos todo el SDK de Android para su uso.





Analisis

Adb es un software que se encarga de conectar nuestro dispositivo con el Sistema Operativo Android (basado en el kernel linux) a nuestra Computadora para su corriente depuración, es decir, control de terminal a terminal. En resumen, podremos controlar nuestro dispositivo android a nivel "consola linux" desde nuestra computadora con Windows o Linux (en este caso, hago el uso de la Distro Manjaro basada en Arch).

Nos puede servir para varias cosas que comúnmente haríamos en un "terminal emulator" en nuestro android pero de una forma remota, por ejemplo, instalar aplicaciones, cargar archivos, hacer backups, en el caso de olvidarse el patrón de acceso borrar los archivos que lo manejan directamente desde esto, cargar librerias y muchas cosas mas, todo desde nuestra pc con el celular conectado por usb o por wifi.



ADB funcionando

Que necesito
-Descargar los archivos correspondientes.
-Su uso requiere previo conocimiento en el manejo con comandos de Unix.
-Un dispositivo que tenga android y que este rooteado (opcional si se quiere conectar adb por wifi).
-Un cable usb o estar en la misma red, depende del metodo que se va a aplicar.
-Una computadora con una distro Linux o Windows.

Descarga:
4shared:
  Para Windows:http://www.4shared.com/zip/BnYttywRce/ADB_Windows.html
  Para Linux:http://www.4shared.com/zip/wdFNHt7Eba/ADB_Linux.html

Descargar y descomprimir la versión para su sistema.


Como usarlo
1)Como primer paso, el factor primordial,  en windows y raramente en linux, tener instalado el driver/controlador para nuestro dispositivo.

2) Necesitaremos tener nuestro dispositivo en modo "Depuracion USB".
Entrar en modo depuración USB es relativo a cada dispositivo android, comunmente para activarlo se usa el procedimiento: Ajustes>Aplicaciones>Desarrollo y ahí tildar la opción "Depuración de USB".

3)Luego de tener esta opción habilitada , conectamos nuestro dispositivo con el cable USB a nuestra computadora.

4)Es hora de usar la terminal de nuestra computadora, el procedimiento general es similar en ambos sistemas y contiene el mismo comando para navegar por directorios que es "cd"

>Para windows:
Presionar la tecla de la ventanita de windows + R, se abrira el cuadro de dialogo llamado "Ejecutar..", en el pondremos "cmd.exe" (sin comillas) y le daremos enter.
>Para Linux:
Es a modo de cada uno.


Una vez abierta la consola, ubicar nuestra carpeta donde hayamos descomprimido el adb.
En windows seria algo como cd C:\adb_windows\ y en linux cd /home/usuario/adb_linux/
Luego colocar adb y darle enter




5)Una vez comprobado que se ejecuto y funciona correctamente, con el dispositivo conectado a la computadora vamos a verificar si es reconocido por la aplicacion.
Esto lo haremos con el comando: adb devices


Si todo salio bien, si no existen problemas con el driver del dispositivo(en el caso de windows), veremos algo como lo de la imagen, el programa reconociendo nuestro teléfono.

Comandos 

Para usar adb como dije anteriormente es necesario tener un conocimiento previo, un manejo básico sobre los comandos de UNIX, o bien si es un uso fugaz se puede averiguar no es tan complicado de aprender.

ADB dispone de muchísimos comandos, pero los mas  básicos para manejarlo son:

adb devices:  sirve para ver los dispositivos actuales conectados y detectados.

adb push: sirve para cargar un archivo al telefono.
     ejemplo: adb push <directorio archivo en el telefono>  <directorio en nuestra pc>

adb pull: sirve para extraer un archivo del teléfono, tiene el mismo funcionamiento que el push.

adb install: para instalar un apk.

adb unistall:para desinstalar un apk.

adb shell: sirve para ejecutar la consola del dispositivo o bien ejecutar un comando sin hacerlo.
     ejemplo: adb shell "su -c "ls""
     o bien, ejecutamos adb shell y se entra directamente al dispositivo por la consola, es decir, remotamente, como en la siguiente imagen.


Dentro de nuestro android en modo consola( por USB)


Como vemos, podremos controlar muchas características de nuestro android desde nuestra computadora y hacer casi cualquier cosa a nivel terminal, algo muy útil a la hora de solucionar problemas o lo que sea que queramos hacer.


Conectar ADB por Wifi:
Para conectar nuestro telefono por adb de forma inalambrica (dentro de la misma red), podemos hacerlo con los siguientes pasos.

Tendremos que conectar por USB nuestro android, luego de haberlo detectado, ejecutamos el comando
adb tcpip 5555
Esto permite que adb entre en modo inalambrico, escuchando a traves del puerto 5555 (por defecto)  nuestros dispositivos android, ahora podemos desconectar nuestro android del usb.

Una vez hecho lo anterior, necesitaremos una app especial para activar el modo "Wifi ADB" desde nuestro telefono (hay algunas roms customs que tienen esta opcion habilitada por defecto).
Aplicacion:https://play.google.com/store/apps/details?id=com.sherdle.adbwireless&hl=es_419 (necesita root)
Una vez instalada en nuestro teléfono, la abriremos,le daremos al botón Turn On dándole permisos de superusuario, y veremos que la app nos da una ip para conectarnos, es la que usaremos desde adb con el siguiente comando:
adb connect <ip>
Si todo sale bien saldra el mensaje que notificara la conexion y si hacemos adb devices aparecera la ip correspondiente que es la de nuestro dispositivo.

Podemos ver parte del proceso realizado en la siguiente imagen.
Conectando ADB por wifi, por parte del teléfono ya habríamos activado la app en "Turn On"


Para volver al modo USB ya que no se pueden usar los dos a la vez, tenemos que ejecutar el comando
  adb usb

Crear el comando "adb"(linux):

Para los que tengan linux y quieran crear el comando "adb" sin tener que andar yendo a la carpeta de la aplicación, pueden acomodarlo con un alias.
alias adb="directorio_adb/adb"
Si aplicamos el comando anterior, notaremos que si colocamos "adb" en una terminal cualquiera se ejecutara sin tener que habernos posicionado en el directorio, pero el cambio funcionara solamente hasta el reinicio del sistema.
Para hacerlo permanente vamos a ir al archivo ".bashrc" en nuestra home y agregaremos la linea de la siguiente manera:



Como vemos, en la linea 17 agregamos el comando personalizado, así nos tendríamos que ahorrar el trabajo de hacer el cd <directorio> y añadiéndolo como un comando mas.

En windows para hacer algo similar, se puede agregando una variable de entorno al sistema, lo pueden realizar desde el siguiente tutorial.

Solución problema "not permissions":
Si al ejecutar adb devices salta un error similar a :

List of devices attached ???????????? no permissions


y al hacerle "adb shell", no permite entrar, usaremos los siguientes comandos en modo root desde nuestra pc:
adb kill-serveradb start-server

Luego de haberlo hecho veremos que si hacemos "adb devices" se detectara sin problemas nuestro androide.



Bueno, esto es todo, espero que les haya servido y saludos! Gracias por pasarse, hasta la proxima! :D