Android Debug Bridge: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riformulazioni
Riga 1:
{{C|Voce strutturata come una guida passo passo con link di download, si ricorda che Wikipedia non è un manuale. Voce da ripensare|informatica|marzo 2021}}
[[File:Android_Connect_computer.png|miniatura|Sistema Android connesso attraverso un cavo USB ad un computer]]
'''Android Debug Bridge (ADB)''' è uno strumento compreso all'interno del software [[Software development kit|SDK (Software Develompent Kit)]]<ref> https://developer.android.com/studio</ref>, servee usato per mettere in comunicazione un dispositivo [[Android]] ed un [[computer]].
 
==Caratteristiche==
VieneAndroid Debug Bridge viene utilizzato per eseguire comandi inda [[Interfaccia a riga di comando|riga-comando]],. conCon questi comandi gli [[Sviluppatore software|sviluppatori]] possono modificare le proprie applicazioni in sviluppo o le [[ROM]], mentre gli utenti possono personalizzare determinati aspetti del dispositivo, eseguire [[Debugging|debug]] di applicazioni, accedere a funzionalità nascoste e recuperare dati dal dispositivo quando è in modalità recupero<ref> [https://www.notizietecnologia.it/come-avviare-e-utilizzare-la-recovery-mode-su-android/#:~:text=A%20condizione%20che%20il%20toolkit,l'%20opzione%20di%20debug%20USB. Come avviare e utilizzare la Recovery Mode su Android - Notizie sulla tecnologia]</ref>.
 
Per permettere la comunicazione fra computer e il dispositivo sono necessari un cavo [[USB]] o una connessione [[wireless]].
 
Per motivi di sicurezza nella fase preliminare abilitandobisogna attivare le funzionalità aggiuntive di Android ovvero le "Opzioni sviluppatore"<ref>[https://www.navigaweb.net/2013/11/opzioni-sviluppatore-android.html Opzioni sviluppatore]</ref> bisognerà abilitareabilitando la voce "Debug USB"<ref>[https://www.aranzulla.it/come-attivare-debug-usb-1144637.html Debug USB]</ref>, che consente di accedere direttamente al [[file system]] di un dispositivo Android da un computer desktop.
 
Senza il debug abilitato, è possibile interagire solo con [[Multimedia Terminal Mobile|l'archivio multimediale]] del dispositivo, cioè per esempio con la [[Secure Digital|scheda SD]] o una directory multimediale appositamente [[Formattazione|formattata]].
 
== Componenti ==
ADB è un programma [[Sistema client/server|client-server]] composto da tre elementi<ref>https://developer.android.com/studio/command-line/adb </ref>
 
* Client: Ilil computer, che dopo l'installazione dei [[driver]] ADB può inviare i comandi attraverso un [[Interfaccia a riga di comando|prompt di comandi come il CMD]] proprietario di Windows.
 
* Daemon (ADBD): Processoun processo che permette l'esecuzione dei comandi, installato sia sul computer che sul dispositivo Android,. Il processo viene eseguito in [[Esecuzione in background|background]] e consente al dispositivo di accettare ed eseguire i comandi inviati dal client.
 
* Server: Servizioun servizio che gestisce la comunicazione fra il [[client]] e il Daemon. Si attiva dopo aver eseguito il comando sul [[Interfaccia a riga di comando|prompt]] del client e permette la comunicazione e l'esecuzione di tutto il processo.
 
Se questi tre componenti non sono attivi nonil potràprogramma avvenirenon questopotrà processofunzionare.
 
[[File:PowerShell.png|PowerShell]]
 
== Installazione ==
Esistono tre metodi principali per l'installazione:.
 
* Il metodo più semplice è installare un [[Toolkit|tool]] completo dal [[XDA Developers|forum di XDA]],. Il Tool include un [[Interfaccia a riga di comando|prompt]] di comando e driver ADB per eseguire i comandi.
* ScaricareUn metodo alternativo consiste nello scaricare il tool per Windows [[Software development kit|SDK (software development kit)]] dal sito ufficiale di [[Google (azienda)|Google]]. Questo tool è dotato di un compilatore per tradurre il [[codice sorgente]]. Il Tool è utile per chi vuole analizzare o eliminare [[bug]].
* [[Google (azienda)|Google]] dal 2017 permette di scaricare separatamente i driver di ADB<ref>https://www.androidpolice.com/2017/01/05/google-makes-adb-fastboot-platform-tools-available-without-full-sdk-android-studio-download/</ref> a differenza di tempo fa quando bisognava obbligatoriamente scaricare tutto il pacchetto [[Software development kit|SDK]] completo, si trova tutto sul sito ufficiale SDK.
 
== Connessione wireless ==
L'evoluzione tecnologica ha permesso di utilizzare non solo il cavo [[USB]] per la connessione ADB ma anche una connessione [[wireless]] grazie al protocollo [[Suite di protocolli Internet|TCP/IP]],. Per questo esistono due metodi principali, Differenziatidistinti dalin base ai permessi di [[Rooting|ROOT]] del dispositivo Android, ovvero;.
 
Necessita* diSe essereil connessidispositivo allanon stessaha rete,i permessi di [[ROOT]] occorre che sia sia il computer che il dispositivo Android. Collegaresiano dispositivoconnessi Androidalla tramitestessa cavorete. USB(laAl primaprimo volta).collegamento occorre quindi Mentrecollegare il dispositivo èAndroid connessotramite ad ADB viacavo USB, ed eseguire il comando per ascoltare, una connessione [[TCP/IP|TCP / IP]] su una [[Porta (reti)|porta]]. Scollegare il cavo USB dal dispositivo di destinazione. Connessione effettuata.
* Se il dispositivo non ha i permessi di [[ROOT]]:
 
* Se il dispositivo ha i permessi di root è possibile usare un'applicazione [[Google Play]] per abilitare la connessione in modo semplice.
Necessita di essere connessi alla stessa rete, sia il computer che il dispositivo Android. Collegare dispositivo Android tramite cavo USB(la prima volta). Mentre il dispositivo è connesso ad ADB via USB, eseguire il comando per ascoltare, una connessione [[TCP/IP|TCP / IP]] su una [[Porta (reti)|porta]]. Scollegare il cavo USB dal dispositivo di destinazione. Connessione effettuata.
 
* Se il dispositivo ha i permessi di root:
 
I dispositivi che sono rootati possono utilizzare un'applicazione dal [[Google Play]] per abilitarla in modo semplice.
 
== Problemi comuni ==
Riga 55 ⟶ 51:
 
== Come si utilizza ==
L'installazione di una [[ROM]] su un dispositivo richiede diversi passaggi.
Un esempio di come funziona teoricamente, saltando i codici.
 
Come installare una [[ROM]] Sul mio dispositivo poiché troppo datato e lento.
 
# Installare ADB dal sito ufficiale di SDK<ref> https://developer.android.com/studio/releases/platform-tools </ref>.
# Installare Ilil pacchetto [[ZIP (formato di file)|.zip]] della Rom(firmware si intende il sistema operativo)ROM.
# Avviare ADB o Prompt dei comandi.
# Mettere in comunicazione lo smartphone e il computer(Connessione tramite connessione via cavo USB oppure Connessioneconnessione wireless).
# Con un codice specifico inoltriamoinoltrare il pacchetto zip precedentemente scaricato sul computer allo smartphone; lo smartphone in ascolto riceve il [[Pacchetto (reti)|pacchetto]] e lo installa in automatico.
# Al termine del processo si può ,scollegare lo smartphone dal computer.
# Lo smartphone in ascolto riceve il [[Pacchetto (reti)|pacchetto]] e lo installa in automatico.
# Al termine del processo si può scollegare lo smartphone dal computer.
 
== Codice ==
Alcuni esempi di comandi<ref>https://helpmanual.io/help/adb/ </ref> utilizzabileutilizzabili con ADB attraverso un prompt o la [[Shell (informatica)|Shell]] sono:
 
* adb reboot → Per [[Boot|riavviare]] normalmente il dispositivo.
Riga 99 ⟶ 92:
Sono presenti due soluzioni differenti per utilizzare [[IOS|Ios]]<ref>https://forum.xda-developers.com/t/adb-for-ios.3258943/</ref> per il debug bridge.
 
* Per Ios e [[Macintosh|Mac]] purtroppo non esiste un veroprogramma eparagonabile proprio fratello diad ADB, ma la situazione è più complicata<ref>[https://stackoverflow.com/questions/23430181/adb-equivalent-for-ios-device xcode - ADB equivalent for iOS device - Stack Overflow]</ref>: e richiede l'esecuzione di un [[Jailbreak (iOS)|jailbreak]]. In questo modo si possono trasferire applicazioni (per esempio, il Mac viene fornito con [[Xcode]]); per eseguire le impostazioni dal terminale proprietario si può utilizzare un'applicazione, la quale però non è disponibile nell'[[App Store]].
 
Non esiste una funzione integrata, ma bisogna eseguire il [[Jailbreak (iOS)|jailbreak]], si possono trasferire applicazioni (ad esempio, il Mac viene fornito con [[Xcode]]), si può utilizzare un'applicazione per eseguire le impostazioni dal terminale proprietario, la quale però non è disponibile nell'[[App Store]].
 
* Utilizzare uno strumento per Ios, il quale sfrutta [[Xcode]], un IDE per IOS SDK, utilizzato per sviluppare le applicazioni IOS su computer Mac.
 
In alternativa, è possibile usare uno strumento per Ios, il quale sfrutta [[Xcode]], un IDE per IOS SDK, utilizzato per sviluppare le applicazioni IOS su computer Mac. La parte fondamentale è XCRUN<ref>[https://pypi.org/project/xcrun/ XCRUN]</ref>, quest'ultimo è: un file binario disponibile nello strumento Xcode in cui è possibile controllare il dispositivo.
 
QualcheAlcuni esempioesempi di comando perXCRUN IOS a differenza di Androidsono:
 
* $xcrun simctl list → ListaFornisce la lista dei dispositivi connessi.
 
* $xcrun simctl list device types → ListaFornisce la lista dei tipi di dispositivi.
 
== Collegamenti esterni ==