https://manuais.iessanclemente.net/index.php?title=Android_Debug_Bridge:_ADB&feed=atom&action=historyAndroid Debug Bridge: ADB - Historial de revisiones2024-03-29T06:12:17ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Android_Debug_Bridge:_ADB&diff=68094&oldid=prevCarrion: /* Conectar un dispositivo físico en Windows */2020-10-01T14:35:07Z<p><span dir="auto"><span class="autocomment">Conectar un dispositivo físico en Windows</span></span></p>
<p><b>Página nueva</b></p><div>==Introdución==<br />
*O '''Android Debug Bridge ADB''' é unha utilidade que permite comunicarse cun dispositivo virtual ou real.<br />
*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.<br />
*O comando atópase no cartafol do SDK en '''platform-tools/adb'''.<br />
*Funciona do mesmo xeito nos tres SOs.<br />
*Máis información en: http://developer.android.com/tools/help/adb.html <br />
<br />
==Dispositivos conectados==<br />
<br />
<gallery caption="Dispositivos conectados" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_04.jpg| A execución do comando '''<ruta sdk>/platform-tools/adb''' amosa a axuda do mesmo.<br />
Image:Android_2013_adb_05.jpg| '''<ruta sdk>/platform-tools/adb devices''' amosa os dispositivos reais e virtuais conectados ao ordenador. Co parámetro '''-l''' amosa o tipo de dispositivo.<br />
</gallery><br />
<br />
==O shell do dispositivo==<br />
*Permite executar comandos dentro do dispositivo android.<br />
*Android está baseado en Linux, por tanto poderanse executar moitos dos comandos dese SO nun dispositivo android.<br />
*'''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.<br />
<br />
<gallery caption="adb shell" widths="350" heights="300px" perrow="2"><br />
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.<br />
Image:Android_2013_adb_07.jpg| A consola do dispositivo e a execución do comando '''pwd'''. <br />
Image:Android_2013_adb_08.jpg| A execución do comando '''df''' para ver os puntos de montaxe, os seus tamaños e consumos de espazo.<br />
Image:Android_2013_adb_09.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.<br />
Image:Android_2013_adb_10.jpg| '''ls -l''' amosa o contido en formato lista do directorio actual: o raíz. Na carpeta '''data''' ...<br />
Image:Android_2013_adb_11.jpg| ... está outra carpeta chamada '''data''' que ...<br />
Image:Android_2013_adb_12.jpg| ... contén as aplicacións instaladas no dispositivo. Entre elas unha chamada '''com.android.providers.contacts'''.<br />
</gallery><br />
<br />
<br />
===Xestión dunha BBDD con sqlite3===<br />
*A modo de exemplo vaise ver como facer consultas básicas, dentro do dispositivo, co xestor [http://es.wikipedia.org/wiki/SQLite sqlite3]. <br />
*Máis información en: http://www.sqlite.org/<br />
*Vaise traballar coa bases de datos dos contactos do teléfono.<br />
<br />
<br />
<gallery caption="sqlite3" widths="350" heights="300px" perrow="2"><br />
Image: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'''.<br />
Image:Android_2013_adb_21.jpg| Contén un ficheiro sqlite3 que é unha base de datos chamada '''contacts2.db'''.<br />
Image:Android_2013_adb_15.jpg| Abrir os contactos do teléfono.<br />
Image:Android_2013_adb_16.jpg| Crear un novo contacto ...<br />
Image:Android_2013_adb_17.jpg| Localmente ...<br />
Image:Android_2013_adb_18.jpg| Indicar o nome e o número e gardar o contacto.<br />
Image:Android_2013_adb_19.jpg| Volver á axenda.<br />
Image:Android_2013_adb_20.jpg| Lista de contactos.<br />
Image:Android_2013_adb_22.jpg| Lanzar o xestor de Base de Datos. '''sqlite3 contacts2.db'''. Observar que consola se despraza cara ...<br />
Image:Android_2013_adb_23.jpg| ... a dereita.<br />
Image:Android_2013_adb_24.jpg| Todo comando empeza por '''punto "."''' , salvo as sentencias sql, e estas deben rematar en '''";"'''.<br />
Image:Android_2013_adb_25.jpg| '''.help''' amosa a axuda do xestor.<br />
Image:Android_2013_adb_26.jpg| O resto da axuda do xestor.<br />
Image:Android_2013_adb_27.jpg| '''.databases''' amosa a base de datos á que se está conectado.<br />
Image:Android_2013_adb_28.jpg| '''.show''' amosa os valores para distintos parámetros de configuración, entre eles, '''mode'''.<br />
Image:Android_2013_adb_29.jpg| '''.tables''' amosa as táboas da BD.<br />
Image: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. <br />
Image:Android_2013_adb_31.jpg| '''select * from view_v1_phones;''' amosa os números de teléfono.<br />
Image:Android_2013_adb_32.jpg| Executando '''.help''' vese como poder cambiar o '''modo''' en que se visualiza o contido dunha táboa'''. <br />
Image: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;'''<br />
Image:Android_2013_adb_34.jpg| '''.exit''' serve para saír do xestor e volver á consola do dispositivo.<br />
Image:Android_2013_adb_36.jpg| Con '''exit''' saímos da consola do dispositivo e volvemos á consola do ordenador.<br />
Image: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.<br />
</gallery><br />
<br />
<br />
<u>'''Nota:'''</u> Se queremos reiniciar o dispositivo teremos que executar, dentro do shell, as seguintes ordes:<br />
:* stop<br />
:* start<br />
<br />
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.<br />
<br />
==Sacar ficheiros do dispositivo==<br />
*Outra das funcionalidades que nos permite é sacar ficheiros/carpetas do dispositivo.<br />
<br />
<gallery caption="adb pull" widths="350" heights="300px" perrow="2"><br />
Image: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''')<br />
Image:Android_2013_adb_39.jpg| Observar a BD '''contacts2.db''' no cartafol do ordenador.<br />
Image: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'''<br />
Image:Android_2013_adb_41.jpg| Reiniciar o Firefox.<br />
Image:Android_2013_adb_42.jpg| Complemento instalado e activo.<br />
Image:Android_2013_adb_43.jpg| En '''Ferramentas->SQLite Manager''' ábrese o xestor de BBDD. <br />
Image:Android_2013_adb_44.jpg| Conectar á BD ...<br />
Image:Android_2013_adb_45.jpg| ... descargada do dispositivo.<br />
Image:Android_2013_adb_46.jpg| Agora pódese manipular a BD.<br />
</gallery><br />
<br />
==Instalar unha aplicación==<br />
*As aplicacións instalables teñen extensión '''apk''' como se verá na UNIDADE 2 do curso: '''adb installl'''.<br />
*Neste caso vaise baixar de internet un visor PDF moi sinxelo para Android.<br />
<br />
<gallery caption="adb install" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_47.jpg| Descargar o .apk do visor PDF de http://sourceforge.net/projects/andpdf/files/<br />
Image:Android_2013_adb_48.jpg| A aplicación descargada.<br />
Image:Android_2013_adb_51.jpg| '''<ruta sdk>/platform-tools/adb install Descargas/AndroidPdfViewer_1_0_1.apk''' instalará o paquete no dispositivo.<br />
Image:Android_2013_adb_50.jpg| A aplicación instalada.<br />
Image:Android_2013_adb_52.jpg| A aplicación instalada no directorio '''/data/data/''' ...<br />
Image:Android_2013_adb_53.jpg| ... do dispositivo.<br />
</gallery><br />
<br />
==Introducir ficheiro no dispositivo==<br />
*Ao igual que se sacan ficheiros do dispositivo tamén se poden introducir ficheiros no mesmo: '''adb push'''.<br />
<br />
<br />
<gallery caption="adb push" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_54.jpg| Crear un documento PDF de proba ou escoller un xa feito.<br />
Image:Android_2013_adb_55.jpg| O contido do documento PDF.<br />
Image:Android_2013_adb_56.jpg| Imos introducilo no directorio asociado á SD card: '''sdcard'''<br />
Image:Android_2013_adb_57.jpg| '''<ruta sdk>/platform-tools/adb push Documentos/ProbaPDF.pdf /sdcard/'''<br />
Image:Android_2013_adb_58.jpg| Abrir o visor de PDFs no dispositivo e navegar ... <br />
Image:Android_2013_adb_59.jpg| até '''/sdcard''' e <br />
Image:Android_2013_adb_60.jpg| abrir o documento premendo en '''show'''.<br />
Image:Android_2013_adb_61.jpg| O contido no documento visto no dispositivo.<br />
Image:Android_2013_adb_62.jpg| '''adb shell ls /sdcard''' amosa que o documento está na tarxeta SD.<br />
</gallery><br />
<br />
==Desinstalar unha aplicación do dispositivo==<br />
*Ao igual que se pode instalar unha aplicación tamén se pode desinstalar: '''adb uninstall'''.<br />
*Tamén se pode realizar de modo gráfico.<br />
<br />
<br />
<gallery caption="adb uninstall" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_63.jpg| En modo gráfico desinstálase unha aplicación mantendo pulsada e arrastrándoa ao lixo. Vaise realizar con adb.<br />
Image:Android_2013_adb_53.jpg| En '''/data/data''' podemos ver o nome da aplicación. <br />
Image:Android_2013_adb_64.jpg| '''<ruta sdk>/platform-tools/adb uninstall net.sf.andpdf.pdfviewer'''<br />
</gallery><br />
<br />
==Varios dispositivos==<br />
*Até agora só traballamos con adb cun só dispositivo. Como actuar cando hai máis dun dispositivo real ou virtual?.<br />
<br />
<br />
<gallery caption="Varios dispositivos" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_65.jpg| Crear un segundo AVD: '''AVDProba2'''.<br />
Image:Android_2013_adb_66.jpg| Iniciar os 2 AVDs.<br />
Image:Android_2013_adb_67.jpg| Parar o servidor adb: '''<ruta sdk>/platform-tools/adb kill-server<br />
Image:Android_2013_adb_69.jpg| Buscar os dispositivos conectados: '''adb devices'''. Observar como se inicia o servidor adb.<br />
Image:Android_2013_adb_69.jpg| 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.<br />
</gallery><br />
<br />
==Conectar un dispositivo físico==<br />
*Agora tócalle a quenda aos dispositivos físicos.<br />
*Hai que habilitar a '''Depuración USB'''<br />
<br />
<gallery caption="Dispositivo físico" widths="350" heights="300px" perrow="2"><br />
Image:Android_2014_adb_70A.jpg| Se non aparece en '''Ajustes->{ } Opciones de desarrollo'''. Ir a '''Ajustes -> Información del teléfono'''.<br />
Image:Android_2014_adb_70B.jpg| Pulsar 7 veces sobre '''Número de compilación''' e xa aparece ...<br />
Image:Android_2013_adb_70.jpg| ... '''{ } Opciones de desarrollo'''. Premer nesa opción. En versións máis antigas ir a '''Ajustes-> Aplicaciones->Desarrollo'''<br />
Image:Android_2013_adb_71.jpg| Habilitar '''Depuración USB''' <br />
Image:Android_2013_adb_72.jpg| Aceptar as advertencias.<br />
Image:Android_2013_adb_73.jpg| '''<ruta sdk>/platform-tools/adb devices -l''' amosa o nome dos dispositivos e onde está conectado.<br />
Image:Android_2013_adb_74.jpg| '''<ruta sdk>/platform-tools/adb -s nome-dispositivo ''' é para interactuar con ese dispositivo, neste caso físico.<br />
</gallery><br />
<br />
<br />
===Conectar un dispositivo físico en Windows===<br />
*En Linux e OS X non é preciso instalar o driver do dispositivo para conectarse a el, pero en Windows si.<br />
*Neste caso vaise usar de exemplo un dispositivo físico Samsung.<br />
<br />
<gallery caption="Dispositivo físico en Windows" widths="350" heights="300px" perrow="2"><br />
Image:Android_2013_adb_75.jpg| Conectamos o dispositivo físico ao ordenador Windows e '''<ruta sdk>/platform-tools/adb devices non amosa nada'''.<br />
Image:Android_2013_adb_76.jpg| Neste caso buscamos o driver do dispositivo.<br />
Image:Android_2013_adb_77.jpg| Descargalo e instalalo.<br />
Image:Android_2013_adb_78.jpg| Aceptar as advertencias que amose.<br />
Image:Android_2013_adb_79.jpg| Seguir aceptando ...<br />
Image:Android_2013_adb_80.jpg| Premer en '''seguinte ...'''<br />
Image:Android_2013_adb_81.jpg| Seleccionar o que indique ...<br />
Image:Android_2013_adb_82.jpg| Instalar ...<br />
Image:Android_2013_adb_83.jpg| Proceso instalación ...<br />
Image:Android_2013_adb_84.jpg| Rematar instalación.<br />
Image:Android_2013_adb_85.jpg| Aceptar por última vez.<br />
Image:Android_2013_adb_86.jpg| '''<ruta sdk>/platform-tools/adb devices''' amosa o dispositivo físico conectado ao ordenador.<br />
</gallery><br />
<br />
<br />
<br />
<br />
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2020).</div>Carrion