Molti aspetti dello sviluppo del SO Firefox richiedono l'installazione di ADB, l'Android Debug Bridge. Questo articolo spiega come fare, e condivide alcuni comandi ADB comuni utili.
Installazione di ADB
Puoi scaricare ed installare adb
come parte del pacchetto Android SDK, per Mac, Linux o Windows — visita la pagina Ottenere l'Android SDK.
Le distribuzioni Linux più nuove hanno adb
già nei loro repositories. Per Ubuntu 12.10 e successivi, esegui il seguente comando:
sudo apt-get install android-tools-adb
O per Fedora 18/19:
sudo yum install android-tools
O su OSX tramite Homebrew:
brew install android-platform-tools
Se la tua distribuzione non dispone di pacchetti per adb
(es. Ubuntu 12.04 o Fedora 17), sarà necessario installare il pacchetto Android SDK per la tua piattaforma (avrai bisogno dell'ADT Bundle, non dell'opzione SDK Tools Only). Esegui quindi il loro gestore di pacchetti, $SDK_HOME/tools/android
, e usa la GUI per installare "Android SDK Platform-tools".
Scopri dove adb
viene installato (di solito in usr/bin
, eventualmente anche dentro adt/platform-tools
, a seconda di come lo hai installato). Assicurati di aggiungere questa cartella alla tua PATH
. Questo può esser fatto aggiungendo la riga
PATH=$SDK_HOME:$PATH
sostituendo $SDK_HOME
con il percorso dell'Android SDK, al tuo file ~/.bashrc
o equivalente.
Risoluzione dei problemi
Se stai installando la versione 64-bit, e ottieni un errore "File non trovato" quando esegui 'adb' anche se il file è presente, è necessario installare le librerie di compatibilità a 32-bit. Per fare questo con apt:
sudo apt-get install ia32-libs
Comandi ADB comuni
Le sezioni seguenti spiegano alcuni comandi adb
comuni, utili.
Riavvio del processo b2g
b2g è l'equivalente di un'applicazione XULRunner in esecuzione sul telefono in cima ad un kernel basato su Android. A volte potresti volerlo riavviare; questo è un modo per ripristinare l'ambiente applicativo senza riavviare l'intero dispositivo. E' possibile effettuarlo inserendo quanto segue nel tuo terminale mentre il tuo dispositivo è connesso al tuo computer (o durante l'esecuzione del debugger):
adb shell killall b2g
Abilitazione port forwarding per il debug
Per abilitare semplicemente il port forwarding (trasferimento dati tramite una specifica porta; per esempio se stai usando il Gestore di Applicazioni per il debug di applicazioni su un dispositivo Firefox OS), immetti il seguente comando nel tuo terminale:
adb forward tcp:6000 localfilesystem:/data/local/debugger-socket
Avrete bisogno di fare questo ogni volta che il telefono viene riavviato o scollegato e poi ri-collegato. È possibile modificare il numero di socket, se necessario.
Forwarding delle porte a una macchina locale
Per il forwarding delle porte a un computer locale, è necessario scaricare i binari netcat e ssh, ed eseguire i seguenti comandi:
# questo è un trucco enorme, ma di fatto funziona... host$ adb forward tcp:7979 tcp:6969 # crea qualche named pipe in modo da fare un netcat bidirezionale phone$ mknod readback p host$ mknod readback p # questo stabilisce una connessione all'host usata una volta sola # ascolto sulle porte 6969 e 5959 e inoltro di tutte le informazioni tra loro phone$ ./netcat -l -p 6969 < readback | ./netcat -l -p 5959 > readback # connessione alla porta 7979 (porta 6969 sul dispositivo) e il server ssh locale e inoltro di tutte le informazioni tra loro host$ ./netcat localhost 7979 < readback | ./netcat localhost 22 > readback # ora, quando ci colleghiamo alla porta 5959 sul telefono, sarà come connettersi al server ssh sull'host # uso inverso di netcat per impostare una connessione ssh all'host e inoltro della porta 9999 sul dispositivo verso il 'localhost:8000' (questo potrebbe essere qualsiasi cosa come 'google.com:80') phone$ ./ssh localhost -p 5959 -L 9999:localhost:8000
Questo inoltrerà la porta 9999 sul dispositivo verso la porta 8000 dell'host.
Alternativamente, puoi usare un server ssh (dropbear e host_key) direttamente sul dispositivo, usando i comandi seguenti:
phone$ DROPBEAR_PASSWORD=root ./dropbear -p 9000 -F -v -a -r host_key ./dropbear
host$ adb forward tcp:8888 tcp:9000
# l'autenticazione con chiave pubblica è stata hard-coded per avere successo (assicuratevi di avere una chiave pubblica per ssh da usare)
host$ ssh -vvv root@localhost -p 8888 -R 9999:people.mozilla.org:80
Ulteriori risorse:
- Istruzioni per la compilazione di dropbear
- dropbear patch per disabilitare il crash da variabili ambientali mancanti e il successo dell'autenticazione hard-code.