Android Debug Bridge: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
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> SDK: https://developer.android.com/studio</ref>, funziona in [[Interfaccia a riga di comando|riga-comando]], serve per poter mettere in comunicazione un dispositivo [[Android]] ed un [[computer]].
 
==Caratteristiche==
==Android Debug Bridge(ADB)==
Viene utilizzato per eseguire comandi sulin telefono[[Interfaccia cona iriga qualidi ècomando|riga-comando]], possibilecon modificare,questi percomandi gli i [[Sviluppatore software|sviluppatori]], possono modificare le proprie applicazioni in sviluppo o le [[ROM]], mentre per gli utenti permette dipossono personalizzare determinati aspetti del dispositivo, eseguire [[Debugging|debug]] di applicazioni, accedere a funzionalità nascoste e recuperare dati dal dispositivo quando è in modalità recupero<ref> modalità recupero: [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 devicedispositivo sisono necessita dinecessari un cavo [[USB]] o una connessione [[wireless]].
 
Per motivi di sicurezza nella fase preliminare bisogna attivareabilitando le funzionalità aggiuntive di Android ovvero le "Opzioni sviluppatore"<ref>[https://www.navigaweb.net/2013/11/opzioni-sviluppatore-android.html Opzioni sviluppatore]</ref> bisognerà abilitare la voce "Debug USB"<ref>[https://www.aranzulla.it/come-attivare-debug-usb-1144637.html Debug USB]</ref>, il qualeche 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 telefonodispositivo, comeper esempio la [[Secure Digital|scheda SD]] o una directory multimediale appositamente [[Formattazione|formattata]].
 
== Componenti ==
== Come funziona Android Debug Bridge ==
ADB è un programma [[Sistema client/server|client-server]] composto da tre elementi<ref>Composizione di ADB dal sito ufficiale:https://developer.android.com/studio/command-line/adb </ref>
 
* Client: Il 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 e dopo l'installazione dei [[driver]] ADB può inviare i comandi.
 
* Daemon (ADBD): È un processoProcesso che permette l'esecuzione dei comandi, è installato sia sul computer che sul devicedispositivo Android, viene eseguito in [[Esecuzione in background|background]] e consente al devicedispositivo di accettare ed eseguire i comandi precedentemente inoltratiinviati dal client.
 
* Server: GestisceServizio 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 servizicomponenti non sono attivi non potrà avvenire questo processo.
l'esecuzione di tutto il processo.
 
Se questi tre servizi non sono attivi non potrà avvenire questo processo.
 
Esempio:
 
* Avviare il computer
 
* Connettere il computer al device attraverso un [[USB|cavo USB]] o connessione wireless
 
* eseguire Il Daemon altrimenti comparirà questa schermata
 
[[File:PowerShell.png|PowerShell]]
 
* Se tutto sarà eseguito correttamente il programma sarà pronto all'utilizzo.
 
== Installazione ==
Esistono tre metodi principali per l'installazione:
 
#* Il metodo più semplice è di installare un [[Toolkit|tool]] completo dal [[XDA Developers|forum di XDA]], èIl giàTool compreso diinclude un [[Interfaccia a riga di comando|prompt]] di comando e dei driver ADB per poter eseguire i vari comandi.
#* Scaricare il tool per windowsWindows [[Software development kit|SDK(software development kit)]] dal sito ufficiale di [[Google (azienda)|Google]]. Questo tool è completodotato di un compilatore per tradurre il [[codice sorgente]]. PuòIl essereTool è utile per chi vuole analizzare o eliminare [[bug]].
#* [[Google (azienda)|Google]] dal 2017 permette di scaricare separatamente i driver di ADB<ref>Scaricare ADB separatamente: 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]], esistono due metodi principali, Differenziati dal [[Rooting|ROOT]] del dispositivo androidAndroid, ovvero;
 
1.* Se il dispositivo non ha i permessi di [[ROOT]]:
 
* 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.
 
2.* Se il dispositivo ha i permessi di root:
* Collegare dispositivo Android tramite cavo USB(la prima volta).
 
* Mentre il dispositivo è connesso ad ADB via USB, eseguire il seguente comando per ascoltare una connessione [[TCP/IP|TCP / IP]] su una [[Porta (reti)|porta]] (predefinito 5555):
 
* Digitare 'adb tcp-ip <port>'(passare alla modalità TCP / IP).
 
* Scollegare il cavo USB dal dispositivo di destinazione.
 
* Digitare: 'adb connect <ip address>:<port>' (predefinita 5555).
 
* Connessione effettuata.
 
2. 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 ==
Alcuni problemi che si riscontrano più frequentemente nell'uso di Android debug bridge:
 
* Le connessioni ADB non riuscite: Per problemi fisici ad esempio la porta USB del computer danneggiata o il [[USB|connettore USB]] del dispositivo android danneggiato.
 
* USB Android difettosi [[Driver]]<ref> Driver ADB: [https://www.nextpit.it/adb-driver-android-cosa-sono-come-installarli Driver ADB: cosa sono e come installarli correttamente su Android! | NextPit]</ref>:Driver non aggiornati oppure driver difettosi, ci sono varie guide dove poter scaricare dei driver adeguati, di solito si scaricano i [[Driver|driver Universali]], si possono anche ricercare driver rilasciati dal produttore del devicedispositivo.
 
* Comando non trovato: Errore frequente può capitare per distrazione oppure non si ha l'ultima versione del [[software]], con il comando "ADB help"<ref>guida codice: https://helpmanual.io/help/adb/ </ref> nel prompt dei comandi comparirà la lista completa dei comandi.
 
* Server is out of date: le versioni presenti di ADB sul computer non è compatibile con la versione del devicedispositivo.
 
== Come si utilizza ==
Un esempio di come funziona teoricamente, saltando i codici.
 
Come installare una [[ROM]] Sul mio devicedispositivo poiché troppo datato e lento.
 
# Installare ADB dal sito ufficiale di SDK<ref> sito ufficiale: https://developer.android.com/studio/releases/platform-tools </ref>.
 
# Installare ADB dal sito ufficiale di SDK<ref> sito ufficiale: https://developer.android.com/studio/releases/platform-tools </ref>.
# Installare Il pacchetto [[ZIP (formato di file)|.zip]] della Rom(firmware si intende il sistema operativo).
 
# Avviare ADB o Prompt dei comandi.
 
# Mettere in comunicazione lo smartphone e il computer(Connessione via cavo USB oppure Connessione wireless).
 
# Con un codice specifico inoltriamo 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.
 
== Codice ==
Alcuni esempi di codicecomandi<ref>codice preso da: https://helpmanual.io/help/adb/ </ref> utilizzabile con ADB attraverso un prompt o la [[Shell (informatica)|Shell]]:
 
* adb reboot → Per [[Boot|riavviare]] normalmente il dispositivo.
Riga 126 ⟶ 96:
* adb reboot recovery → Riavvia il dispositivo in in [[Android|recovery mode]].
 
== Android Debug BridgeEquivalenti su Ios ==
Sono presenti due soluzioni differenti per utilizzare [[IOS|Ios]]<ref>ADB Su IOS: https://forum.xda-developers.com/t/adb-for-ios.3258943/</ref> per il debug bridge.
 
* Per Ios e [[Macintosh|Mac]] purtroppo non esiste un vero e proprio fratello di ADB, ma la situazione è più complicata<ref>Guida completa su xcode: [https://stackoverflow.com/questions/23430181/adb-equivalent-for-ios-device xcode - ADB equivalent for iOS device - Stack Overflow]</ref>:
 
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]].
 
Una volta in esecuzione sul dispositivo, è possibile connettersi al dispositivo tramite USB e utilizzare alcuni comandi.
 
Si stabilirà una connessione USB per inoltrare i pacchetti TCP dal server [[SSH File Transfer Protocol|SSH]] al dispositivo.
 
Per funzionare si utilizza un programma, il quale inoltra TCP tramite il [[USB|bus USB]] per consentire lo scambio dei dati.
 
Molto meno complicata è la seconda soluzione:
 
* Utilizzare uno strumento per Ios, il quale sfrutta [[Xcode]], un IDE per IOS SDK, utilizzato per sviluppare le applicazioni IOS su computer Mac.
Riga 150 ⟶ 112:
 
* $xcrun simctl list device types → Lista dei tipi di dispositivi.
 
* $xcrun simctl io<space><device id><space>screenshot<space><filename.png> → Eseguire uno [[screenshot]] dello schermo del device.
 
* $ xcrun simctl install<space><device id><space><path of the. app build file> → Installare un [[IPA (formato di file)|.IPA]] file.
 
== Altre funzionalità di ADB ==
Sono presenti vari tutorial su internet per migliorare le prestazioni dello smartphone o per personalizzarlo.
 
Tutto questo grazie ad Android Debug Bridge.
 
Qualche esempio:
 
* Come attivare [[Wi-Fi]] automaticamente quando si entra in casa
 
* Come sincronizzare modalità "Non disturbare" tra [[Wear OS|android Wear]] e lo Smartphone
 
* Come Bloccare le notifiche di Avviso durante il gioco o la visione di un video
 
* Come eseguire il [[downgrade]] di un'app su Android
 
* Come ottenere i permessi [[Rooting|Root]]
 
== Collegamenti esterni ==