User Tools

Site Tools


android:programacion:consola

ADB

Requisitos

Para poder interactuar con el móvil hay que seguir estos pasos:

1. Activar el modo desarrollador

Suele hacerse tocando 7 veces consecutivas sobre la opción “Número de compilación” o “Build Number”:

Ajustes / Información del teléfono / Número de compilación

2. Una vez hecho el paso 1, aparecerá un nuevo menú, “Opciones de desarrollo”. Ahora hay que habilitar el modo de depuración o debug mode:

Ajustes / Opciones de desarrollo / Depuración USB

3. Aceptar el mensaje de advertencia que aparece

4. Conectar el cable USB

5. (En el ordenador) Lanzar:

sudo adb-start server

6. (En el móvil) seguramente aparezca un mensaje, con la MAC del ordenador, para aceptar dicha conexión. Aceptarla.

Ya estamos listos para interactuar con el móvil desde el ordenador vía comando adb

Instalar paquetes

Usar esta

sudo aptitude install adb

Deprecated #1

sudo aptitude install android-tools-adb

Deprecated #2

sudo dpkg --add-architecture i386
sudo aptitude update
sudo apt-get install libc6:i386 libstdc++6:i386 lib32stdc++6

Otra posibilidad:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 zlib1g:i386

Actualizar SDK

android update sdk --no-ui

Comandos

  • Listar paquetes instalados
adb shell pm list packages
  • Desinstalar paquete
adb uninstall com.phonegap.helloworld
  • Forzar la ubicacion
adb emu geo fix 30.219470 -97.745361

Para ejecutar comandos desde la consola entramos en la carpeta de instalación de Android:

android/tools

y ejecutamos:

# ./adb shell

Por ejemplo, para consultar una base de datos:

# cd data
# cd data

Ahora podemos hacer

# ls

o

# ls *.*

En mi caso la BBDD està en:

# cd lobo99.com.BBDD_sample
# cd databases
# ls
baseDatosSimple

Me conecto a la BBDD:

# sqlite3 baseDatosSimple
SQLite version 3.5.9
Enter ".help" for instructions

Listo las tablas

sqlite> .tables
android_metadata  usuarios        

Y hago una consulta:

# select * from usuarios;
Carlos|Garcia|Peru|30
Ingrid|Gonzalez|Spain|20

* Logs
adb logcat -c; adb logcat | tee /tmp/log

Descargar/subir una base de datos

Este proceso lo he comprobado con una App desarrollada en cordova y que usa el plugin cordova-sqlite-storage 2.0.0.

1. Obtener nombre exacto del paquete, por si no lo sabemos:

adb shell pm list packages | grep example.com

2. Copiar la BD a una localizacion desde la que se pueda extraer

adb shell
run-as com.example.myapp
cd databases

El directorio, pues, en el que me encuentro:

/data/data/org.jamgo.streamplayer/databases

Y ahora copio la base de datos:

cp mydb.db /sdcard

3. Desde el pc al que esta conectado el dispositivo:

adb pull /sdcard/mydb.db /tmp/

3749 KB/s (2429952 bytes in 0.632s)

LG G3

Primera vez

Probar todo esto

1. Desconectar cable USB

2. Habilitar menu desarrollador

2.1. Ajustes / pestaña “General” / Acerca del teléfono / Información de software

2.2. Tocar 7 veces seguidas sobre “Número de compilación”. Esto hará que aparezcan otros menús.

3. Ajustes / pestaña “Redes” / Conexion a redes

Marcar “Modem USB”

4. Ajustes / pestaña “General” / Opciones Avanzadas

Marcar “Depuracion USB”

5. Conectar cable USB

6. Navegar hasta “adt-bundle-linux-x86_64-xxxxxxxx/sdk/platform-tools”:

sudo ./adb kill-server
sudo ./adb start-server
sudo ./adb devices

7. En el movil aceptar

8. Finalmente:

adb devices

List of devices attached 
LGD8554006600f	device

Subsiguientes

1. Conectar el cable USB

2. Ajustes / redes / Conexion a redes

Marcar “Modem USB”

3. Comandos:

sudo adb start-server
adb devices

Samsung Galaxy S2 I9100

Instalar aplicaciones de google:

Cyanogen 12:

Tenemos que habilitar la conexión USB, para habilitar el modo desarrollador pulsar 7 veces en ajustes/sistemas/

https://www.kingoapp.com/root-tutorials/how-to-enable-usb-debugging-mode-on-android-5-lollipop.htm

Descargamos Gaps, arm, habilitamos reinicio avanzado, copiamos el zip en sdcard y hacemos update:
https://wiki.cyanogenmod.org/w/Google_Apps

Errores

Offline

Adb version 1.0.36 Tableta FNAC Android 4.2.2

adb devices

Salida:

List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
1381134802352	offline

Solución:

1. Mantener cable USB conectado

2. Matar proceso

adb kill-server

3. (Android) Opciones de desarrollo / Desmarcar y volver a marcar “USB debug”

4. Aaaaara

adb devices 

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

Asumo:

* Móvil conectado por USB al PC desde el que se ejecuta adb * Móvil con “developer mode” activado * Móvil con “USB debug” activado

1. Obtener el ID del fabricante:

1.1. Ejecutar:

lsusb

Salida:

Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f2:b569 Chicony Electronics Co., Ltd 
Bus 001 Device 005: ID 05c6:9091 Qualcomm, Inc. 
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Anotar la salida.

1.2. Desconectar el móvil del cable USB

1.3. Repetir el paso 1.1. y anotar la salida. En mi caso:

Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f2:b569 Chicony Electronics Co., Ltd 
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

1.4. Ver la diferencia entre la salida del paso 1.1 y el 1.3. En mi caso:

Bus 001 Device 005: ID 05c6:9091 Qualcomm, Inc. 

El fabricante pues es el “05c6”

2. Editar:

sudo vim /etc/udev/rules.d/51-android.rules

Y añadir la linea, indicando el código del fabricante obtenido en el paso 1.4:

SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"

4. Conectar de nuevo el dispositivo

5. En mi caso con un Wiko Ufeel Prime apareció una ventana en el móvil solicitando acceso. Aceptar y listo

android/programacion/consola.txt · Last modified: 2021/05/26 06:32 by javi