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
sudo aptitude install adb
sudo aptitude install android-tools-adb
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
android update sdk --no-ui
adb shell pm list packages
adb uninstall com.phonegap.helloworld
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
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)
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
1. Conectar el cable USB
2. Ajustes / redes / Conexion a redes
Marcar “Modem USB”
3. Comandos:
sudo adb start-server adb devices
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
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
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