Diferencia entre revisiones de «Android Debug Bridge: ADB»
Ir a la navegación
Ir a la búsqueda
(Sin diferencias)
|
Revisión actual - 14:35 1 oct 2020
Introdución
- O Android Debug Bridge ADB é unha utilidade que permite comunicarse cun dispositivo virtual ou real.
- Esta composto dun servidor que sempre está funcionando no ordenador real e lánzase cando se inicia Eclipse ou cando se executa adb start-server. Este servidor sempre escoita nun porto impar comezando no 5555.
- O comando atópase no cartafol do SDK en platform-tools/adb.
- Funciona do mesmo xeito nos tres SOs.
- Máis información en: http://developer.android.com/tools/help/adb.html
Dispositivos conectados
- Dispositivos conectados
-
A execución do comando <ruta sdk>/platform-tools/adb amosa a axuda do mesmo.
-
<ruta sdk>/platform-tools/adb devices amosa os dispositivos reais e virtuais conectados ao ordenador. Co parámetro -l amosa o tipo de dispositivo.
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
-
<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.
-
A consola do dispositivo e a execución do comando pwd.
-
A execución do comando df para ver os puntos de montaxe, os seus tamaños e consumos de espazo.
-
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.
-
ls -l amosa o contido en formato lista do directorio actual: o raíz. Na carpeta data ...
-
... está outra carpeta chamada data que ...
-
... contén as aplicacións instaladas no dispositivo. Entre elas unha chamada com.android.providers.contacts.
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
-
Situarse na carpeta da aplicación. Toda aplicación ten unha estrutura de ficheiros semellante. Hai un directorio chamado databases.
-
Contén un ficheiro sqlite3 que é unha base de datos chamada contacts2.db.
-
Abrir os contactos do teléfono.
-
Crear un novo contacto ...
-
Localmente ...
-
Indicar o nome e o número e gardar o contacto.
-
Volver á axenda.
-
Lista de contactos.
-
Lanzar o xestor de Base de Datos. sqlite3 contacts2.db. Observar que consola se despraza cara ...
-
... a dereita.
-
Todo comando empeza por punto "." , salvo as sentencias sql, e estas deben rematar en ";".
-
.help amosa a axuda do xestor.
-
O resto da axuda do xestor.
-
.databases amosa a base de datos á que se está conectado.
-
.show amosa os valores para distintos parámetros de configuración, entre eles, mode.
-
.tables amosa as táboas da BD.
-
select * from raw_contacts (observar que falta o ";", o cal é introducido na seguinte liña). Amosa os nomes dos contactos.
-
select * from view_v1_phones; amosa os números de teléfono.
-
Executando .help vese como poder cambiar o modo en que se visualiza o contido dunha táboa.
-
.mode line indica que amose cada campo dunha táboa co seu valor nunha liña por campo. select * from raw_contacts;
-
.exit serve para saír do xestor e volver á consola do dispositivo.
-
Con exit saímos da consola do dispositivo e volvemos á consola do ordenador.
-
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
-
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)
-
Observar a BD contacts2.db no cartafol do ordenador.
-
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
-
Reiniciar o Firefox.
-
Complemento instalado e activo.
-
En Ferramentas->SQLite Manager ábrese o xestor de BBDD.
-
Conectar á BD ...
-
... descargada do dispositivo.
-
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/
-
A aplicación descargada.
-
<ruta sdk>/platform-tools/adb install Descargas/AndroidPdfViewer_1_0_1.apk instalará o paquete no dispositivo.
-
A aplicación instalada.
-
A aplicación instalada no directorio /data/data/ ...
-
... do dispositivo.
Introducir ficheiro no dispositivo
- Ao igual que se sacan ficheiros do dispositivo tamén se poden introducir ficheiros no mesmo: adb push.
- adb push
-
Crear un documento PDF de proba ou escoller un xa feito.
-
O contido do documento PDF.
-
Imos introducilo no directorio asociado á SD card: sdcard
-
<ruta sdk>/platform-tools/adb push Documentos/ProbaPDF.pdf /sdcard/
-
Abrir o visor de PDFs no dispositivo e navegar ...
-
até /sdcard e
-
abrir o documento premendo en show.
-
O contido no documento visto no dispositivo.
-
adb shell ls /sdcard amosa que o documento está na tarxeta SD.
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
-
En modo gráfico desinstálase unha aplicación mantendo pulsada e arrastrándoa ao lixo. Vaise realizar con adb.
-
En /data/data podemos ver o nome da aplicación.
-
<ruta sdk>/platform-tools/adb uninstall net.sf.andpdf.pdfviewer
Varios dispositivos
- Até agora só traballamos con adb cun só dispositivo. Como actuar cando hai máis dun dispositivo real ou virtual?.
- Varios dispositivos
-
Crear un segundo AVD: AVDProba2.
-
Iniciar os 2 AVDs.
-
Parar o servidor adb: <ruta sdk>/platform-tools/adb kill-server
-
Buscar os dispositivos conectados: adb devices. Observar como se inicia o servidor adb.
-
Agora, cando hai máis dun dipositivo, para conectarse a un concreto hai que especificalo, sexa este real ou virtual: usando o parámetro -s nome do dispositivo. Neste caso adb -s emulator-5556 shell ls amosa o contido da raíz do segundo AVD.
Conectar un dispositivo físico
- Agora tócalle a quenda aos dispositivos físicos.
- Hai que habilitar a Depuración USB
- Dispositivo físico
-
Se non aparece en Ajustes->{ } Opciones de desarrollo. Ir a Ajustes -> Información del teléfono.
-
Pulsar 7 veces sobre Número de compilación e xa aparece ...
-
... { } Opciones de desarrollo. Premer nesa opción. En versións máis antigas ir a Ajustes-> Aplicaciones->Desarrollo
-
Habilitar Depuración USB
-
Aceptar as advertencias.
-
<ruta sdk>/platform-tools/adb devices -l amosa o nome dos dispositivos e onde está conectado.
-
<ruta sdk>/platform-tools/adb -s nome-dispositivo é para interactuar con ese dispositivo, neste caso 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
-
Conectamos o dispositivo físico ao ordenador Windows e <ruta sdk>/platform-tools/adb devices non amosa nada.
-
Neste caso buscamos o driver do dispositivo.
-
Descargalo e instalalo.
-
Aceptar as advertencias que amose.
-
Seguir aceptando ...
-
Premer en seguinte ...
-
Seleccionar o que indique ...
-
Instalar ...
-
Proceso instalación ...
-
Rematar instalación.
-
Aceptar por última vez.
-
<ruta sdk>/platform-tools/adb devices amosa o dispositivo físico conectado ao ordenador.
-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2020).
