Diferencia entre revisiones de «Android Debug Bridge: ADB»
| (No se muestran 5 ediciones intermedias del mismo usuario) | |||
| Línea 16: | Línea 16: | ||
* 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. | * 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'''. | : Se queremos levantalo manualmente temos que executar a orde: '''adb start-server'''. | ||
| + | |||
| + | |||
| + | * <u>'''Nota:'''</u> Cada emulador vai empregar dous portos, un para a consola e outro onde escoita os comandos adb que recibe do cliente. | ||
| + | : Por iso cando dende consola aparecen a lista de dispositivos, aparece '''nome-5554''' en vez de 'nome-5555' (máis información [https://developer.android.com/studio/command-line/adb neste enlace]). | ||
==Dispositivos conectados== | ==Dispositivos conectados== | ||
| Línea 32: | Línea 36: | ||
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:Android_2013_adb_08b.jpg| A execución do comando '''df | + | Image:Android_2013_adb_08b.jpg| A execución do comando '''df''' para ver os puntos de montaxe, os seus tamaños e consumos de espazo. |
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_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''' ... | ||
| Línea 38: | Línea 42: | ||
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> | ||
| − | |||
==Sacar ficheiros do dispositivo== | ==Sacar ficheiros do dispositivo== | ||
| Línea 46: | Línea 49: | ||
Image:PDM_adb_pull_1.jpg| Abrimos un emulador e buscamos un google unha imaxe calquera a descargar. Mantendo premido o rato sobre a imaxe aparece a opción de '''Download'''. | Image:PDM_adb_pull_1.jpg| Abrimos un emulador e buscamos un google unha imaxe calquera a descargar. Mantendo premido o rato sobre a imaxe aparece a opción de '''Download'''. | ||
Image:PDM_adb_pull_2.jpg| Podemos comprobar como por defecto, dita imaxe se garda na memoria interna do emulador. Debemos de anotar dita ruta. | Image:PDM_adb_pull_2.jpg| Podemos comprobar como por defecto, dita imaxe se garda na memoria interna do emulador. Debemos de anotar dita ruta. | ||
| − | Image:PDM_adb_pull_3.jpg| Agora debemos facer uso do comando '''adb pull''' para 'traer' un arquivo dende o emulador á máquina real ('''<ruta sdk>/platform-tools/adb pull /storage/emulated/0/Download/pexels-photo.jpg''') | + | Image:PDM_adb_pull_3.jpg| Agora debemos facer uso do comando '''adb pull''' para 'traer' un arquivo dende o emulador á máquina real ('''<ruta sdk>/platform-tools/adb pull /storage/emulated/0/Download/pexels-photo.jpg'''). Máis información [http://adbshell.com/commands/adb-pull neste enlace]. Podemos indicar o cartafol de destino da forma: '''<ruta sdk>/platform-tools/adb pull /storage/emulated/0/Download/pexels-photo.jpg /cartafol_destino/''' |
</gallery> | </gallery> | ||
| Línea 135: | Línea 138: | ||
Image:Android_2013_adb_86.jpg| '''<ruta sdk>/platform-tools/adb devices''' amosa o dispositivo físico conectado ao ordenador. | Image:Android_2013_adb_86.jpg| '''<ruta sdk>/platform-tools/adb devices''' amosa o dispositivo físico conectado ao ordenador. | ||
</gallery> | </gallery> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Revisión actual del 17:16 22 sep 2019
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.
- Nota: Cada emulador vai empregar dous portos, un para a consola e outro onde escoita os comandos adb que recibe do cliente.
- Por iso cando dende consola aparecen a lista de dispositivos, aparece nome-5554 en vez de 'nome-5555' (máis información neste enlace).
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.
Sacar ficheiros do dispositivo
- Outra das funcionalidades que nos permite é sacar ficheiros/carpetas do dispositivo.
- adb pull
Agora debemos facer uso do comando adb pull para 'traer' un arquivo dende o emulador á máquina real (<ruta sdk>/platform-tools/adb pull /storage/emulated/0/Download/pexels-photo.jpg). Máis información neste enlace. Podemos indicar o cartafol de destino da forma: <ruta sdk>/platform-tools/adb pull /storage/emulated/0/Download/pexels-photo.jpg /cartafol_destino/
Instalar unha aplicación
- As aplicacións instalables teñen extensión apk como se verá na UNIDADE 2 do curso: adb install.
- 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 Alvarez. -- (2018).