Diferencia entre revisiones de «Android Debug Bridge: ADB»
| Línea 32: | Línea 32: | ||
Image:Android_2013_adb_06.jpg| '''<ruta sdk>/platform-tools/adb shell''' permite conectarse á consola do dispositivo. Ollo que neste exemplo hai un só dipositivo conectado, logo veremos como se actúa cando hai dous ou máis. | Image:Android_2013_adb_06.jpg| '''<ruta sdk>/platform-tools/adb shell''' permite conectarse á consola do dispositivo. Ollo que neste exemplo hai un só dipositivo conectado, logo veremos como se actúa cando hai dous ou máis. | ||
Image:Android_2013_adb_07.jpg| A consola do dispositivo e a execución do comando '''pwd'''. | Image:Android_2013_adb_07.jpg| A consola do dispositivo e a execución do comando '''pwd'''. | ||
| − | Image: | + | Image:Android_2013_adb_08b.jpg| A execución do comando '''df -h''' para ver os puntos de montaxe, os seus tamaños e consumos de espazo. |
| − | Image: | + | Image:Android_2013_adb_9.jpg| A execución do comando '''mount''' que amosa en que directorios están montado os dispositivos físicos. Observar onde está montada a tarxeta SD, o formato de ficheiros, a codificación de caracteres, etc.Podedes comprobar como aparecer 3 cartafoles diferentes para a mesma tarxeta SD. Isto é debido a que a partires da versión 6.0 de Android, podemos indicar a aplicación que se vai instalar se vai necesitar permisos lectura/escritura sobre a tarxeta SD. Así, se unha aplicación soamente ten permiso de lectura amosará o contido de /mnt/runtime/read/. Máis información [https://source.android.com/devices/storage/ neste enlace]. |
Image:Android_2013_adb_10.jpg| '''ls -l''' amosa o contido en formato lista do directorio actual: o raíz. Na carpeta '''data''' ... | Image:Android_2013_adb_10.jpg| '''ls -l''' amosa o contido en formato lista do directorio actual: o raíz. Na carpeta '''data''' ... | ||
Image:Android_2013_adb_11.jpg| ... está outra carpeta chamada '''data''' que ... | Image:Android_2013_adb_11.jpg| ... está outra carpeta chamada '''data''' que ... | ||
| − | Image:Android_2013_adb_12.jpg| ... contén as aplicacións instaladas no dispositivo | + | Image:Android_2013_adb_12.jpg| ... contén as aplicacións instaladas no dispositivo. |
</gallery> | </gallery> | ||
Revisión del 08:01 9 sep 2018
Sumario
Introdución
Máis información neste enlace.
- O Android Debug Bridge ADB é unha utilidade que permite comunicarse cun dispositivo virtual ou real.
- O executable se atopa no cartafol de instalación do SDK/plataform-tools/ e ten nome 'adb' en Linux ou 'adb.exe' en Windows.
- Esta composto dun:
- Un servidor que sempre está funcionando no ordenador real e que vai servir de 'ponte' para mandar os comandos dende o cliente ao emulador ou dispositivo real Android. Este servidor sempre estará escoitando no porto 5037.
- O servidor escanea os portos impares dende 5555 a 5585 buscando dispositivos reais ou emuladores aos que mandar os comandos.
- Un cliente ADB, que mandará as ordes ao emulador ou dispositivo real a través do servidor adb facendo uso do porto 5037.
- Cando un cliente se quere conectar ao emulador, este comproba se xa está executándose o servidor. En caso de que non estea, levanta o servizo.
- Se queremos levantalo manualmente temos que executar a orde: adb start-server.
Dispositivos conectados
- Dispositivos conectados
O shell do dispositivo
- Permite executar comandos dentro do dispositivo android.
- Android está baseado en Linux, por tanto poderanse executar moitos dos comandos dese SO nun dispositivo android.
- Importante: Para acceder en modo root en AVDs con versións de android 7 ou superior débese execuatar antes de entrar nel:adb root.
- adb shell
A execución do comando mount que amosa en que directorios están montado os dispositivos físicos. Observar onde está montada a tarxeta SD, o formato de ficheiros, a codificación de caracteres, etc.Podedes comprobar como aparecer 3 cartafoles diferentes para a mesma tarxeta SD. Isto é debido a que a partires da versión 6.0 de Android, podemos indicar a aplicación que se vai instalar se vai necesitar permisos lectura/escritura sobre a tarxeta SD. Así, se unha aplicación soamente ten permiso de lectura amosará o contido de /mnt/runtime/read/. Máis información neste enlace.
Xestión dunha BBDD con sqlite3
- A modo de exemplo vaise ver como facer consultas básicas, dentro do dispositivo, co xestor sqlite3.
- Máis información en: http://www.sqlite.org/
- Vaise traballar coa bases de datos dos contactos do teléfono.
- sqlite3
- Android 2013 adb 13.jpg
Situarse na carpeta da aplicación. Toda aplicación ten unha estrutura de ficheiros semellante. Hai un directorio chamado databases.
- Android 2013 adb 21.jpg
Contén un ficheiro sqlite3 que é unha base de datos chamada contacts2.db.
- Android 2013 adb 15.jpg
Abrir os contactos do teléfono.
- Android 2013 adb 16.jpg
Crear un novo contacto ...
- Android 2013 adb 17.jpg
Localmente ...
- Android 2013 adb 18.jpg
Indicar o nome e o número e gardar o contacto.
- Android 2013 adb 19.jpg
Volver á axenda.
- Android 2013 adb 20.jpg
Lista de contactos.
- Android 2013 adb 22.jpg
Lanzar o xestor de Base de Datos. sqlite3 contacts2.db. Observar que consola se despraza cara ...
- Android 2013 adb 23.jpg
... a dereita.
- Android 2013 adb 24.jpg
Todo comando empeza por punto "." , salvo as sentencias sql, e estas deben rematar en ";".
- Android 2013 adb 25.jpg
.help amosa a axuda do xestor.
- Android 2013 adb 26.jpg
O resto da axuda do xestor.
- Android 2013 adb 27.jpg
.databases amosa a base de datos á que se está conectado.
- Android 2013 adb 28.jpg
.show amosa os valores para distintos parámetros de configuración, entre eles, mode.
- Android 2013 adb 29.jpg
.tables amosa as táboas da BD.
- Android 2013 adb 30.jpg
select * from raw_contacts (observar que falta o ";", o cal é introducido na seguinte liña). Amosa os nomes dos contactos.
- Android 2013 adb 31.jpg
select * from view_v1_phones; amosa os números de teléfono.
- Android 2013 adb 32.jpg
Executando .help vese como poder cambiar o modo en que se visualiza o contido dunha táboa.
- Android 2013 adb 33.jpg
.mode line indica que amose cada campo dunha táboa co seu valor nunha liña por campo. select * from raw_contacts;
- Android 2013 adb 34.jpg
.exit serve para saír do xestor e volver á consola do dispositivo.
- Android 2013 adb 36.jpg
Con exit saímos da consola do dispositivo e volvemos á consola do ordenador.
- Android 2013 adb 37.jpg
Con adb shell comando execútase o comando na consola do dispositivo e a saída amósase na consola do ordenador.
Nota: Se queremos reiniciar o dispositivo teremos que executar, dentro do shell, as seguintes ordes:
- stop
- start
Con isto faremos o 'efecto' de reiniciar. Isto é necesario no caso de ter un servizo que se executa cando se acende o dispositivo Android e queiramos comprobar o seu funcionamento.
Sacar ficheiros do dispositivo
- Outra das funcionalidades que nos permite é sacar ficheiros/carpetas do dispositivo.
- adb pull
- Android 2013 adb 38.jpg
Neste caso sácase do dispositivo a BD anterior de contactos: contacts2.db. Co parámetro: adb pull. (<ruta sdk>/platform-tools/adb pull /data/data/com.android.providers.contacts/databases/contacts2.db)
- Android 2013 adb 39.jpg
Observar a BD contacts2.db no cartafol do ordenador.
- Android 2013 adb 40.jpg
Existen moitos xestores para manipular BBDD sqlite3, neste caso vaise instalar no ordenador un complemento no Mozilla Firefox e así vale para os tres SOs. Ir Ferramentas->Complementos en Firefox. Buscar sqlite e instalar o complemento Sqlite Manager
- Android 2013 adb 41.jpg
Reiniciar o Firefox.
- Android 2013 adb 42.jpg
Complemento instalado e activo.
- Android 2013 adb 43.jpg
En Ferramentas->SQLite Manager ábrese o xestor de BBDD.
- Android 2013 adb 44.jpg
Conectar á BD ...
- Android 2013 adb 45.jpg
... descargada do dispositivo.
- Android 2013 adb 46.jpg
Agora pódese manipular a BD.
Instalar unha aplicación
- As aplicacións instalables teñen extensión apk como se verá na UNIDADE 2 do curso: adb installl.
- Neste caso vaise baixar de internet un visor PDF moi sinxelo para Android.
- adb install
Descargar o .apk do visor PDF de http://sourceforge.net/projects/andpdf/files/
Introducir ficheiro no dispositivo
- Ao igual que se sacan ficheiros do dispositivo tamén se poden introducir ficheiros no mesmo: adb push.
- adb push
Desinstalar unha aplicación do dispositivo
- Ao igual que se pode instalar unha aplicación tamén se pode desinstalar: adb uninstall.
- Tamén se pode realizar de modo gráfico.
- adb uninstall
Varios dispositivos
- Até agora só traballamos con adb cun só dispositivo. Como actuar cando hai máis dun dispositivo real ou virtual?.
- Varios dispositivos
Conectar un dispositivo físico
- Agora tócalle a quenda aos dispositivos físicos.
- Hai que habilitar a Depuración USB
- Dispositivo físico
Conectar un dispositivo físico en Windows
- En Linux e OS X non é preciso instalar o driver do dispositivo para conectarse a el, pero en Windows si.
- Neste caso vaise usar de exemplo un dispositivo físico Samsung.
- Dispositivo físico en Windows
-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2018).
-- Ángel D. Fernández González e Carlos Carrión Alvarez. -- (2018).