Viele Aspekte der Firefox OS Entwicklung erfordern die Installation von ADB, der Android Debug Bridge. Dieser Artikel erklärt, wie das geht und zeigt einige häufig verwendete und nützliche ADB Befehle.
ADB Installieren
ADB kann als Bestandteil des Android SDK Pakets für Mac, Linux oder Windows heruntergeladen und installiert werden - besuchen Sie dazu die Get the Android SDK Seite.
Bei neueren Linux Distributionen ist adb
bereits in den Repositories verfügbar. Für Ubuntu 12.10 und neuere, führen Sie folgenden Befehl aus:
sudo apt-get install android-tools-adb
Oder für Fedora 18/19:
sudo yum install android-tools
Oder auf OSX mit Homebrew:
brew install android-platform-tools
Falls ihre Distribution kein Paket für adb
zur Verfügung stellt (z.B. Ubuntu 12.04 oder Fedora 17), müssen Sie das Android SDK starter package für ihre Plattform installieren (wählen Sie die Option ADT Bundle, nicht SDK Tools Only). Führen Sie dann deren Paketmanager, $SDK_HOME/tools/android
aus und nutzen Sie dann die GUI zum Installieren von "Android SDK Platform-tools".
Finden Sie heraus, wo adb
installiert wurde (üblicherweise in usr/bin
, unter Umständen zusätzlich in adt/platform-tools
, je nach Installationsart). Stellen Sie sicher, dieses Verzeichnis zu ihrem PATH
hinzuzufügen. Dies erreichen Sie durch Hinzufügen der Zeile
PATH=$SDK_HOME:$PATH
in der Sie $SDK_HOME
durch den Pfad ihres android sdk ersetzen, zu ihrer ~/.bashrc
oder vergleichbarem.
Fehlerbehebung
Wenn Sie eine 64-bit Installation verwenden, und Sie den Fehler "File not found" bei der Ausführung von 'adb' bekommen, obwohl diese Datei vorhanden ist, müssen Sie 32-bit Kompatibilitätsbibliotheken installieren. Um das mit apt zu tun:
sudo apt-get install ia32-libs
Häufig verwendete ADB Befehle
Der folgende Abschnitt erklärt einige häufig verwendete, nützliche adb
Befehle.
Den b2g Prozess neu starten
b2g ist das Äquivalent einer XULRunner Anwendung die auf einem Smartphone auf einem Android-basierten Kernel ausgeführt wird. Manchmal kann ein Neustart dieser Anwendung nützlich sein; so können Sie die Anwendungsumgebung zurücksetzen ohne das Gerät neu zu starten. Sie können dies tun indem Sie folgendes in ihr Terminal eingeben, während ihr Gerät mit ihrem Computer verbunden ist (oder während der Ausführung des Debuggers):
adb shell killall b2g
Portweiterleitung zum Debuggen aktivieren
Um einfach eine Portweiterleitung zu aktivieren (zum Beispiel wenn Sie den App Manager nutzen um Apps auf ihrem Firefox OS Gerät zu debuggen), geben Sie folgenden Befehl in Ihrem Terminal ein:
adb forward tcp:6000 localfilesystem:/data/local/debugger-socket
Dies müssen Sie jedesmal beim neu Starten oder Aus- und wieder Einstecken des Smartphones tun. Sie können die Socket Nummer ändern, wenn gewünscht.
Portweiterleitung zu einem lokalen Rechner
Um Ports zu einem lokalen Rechner weiterzuleiten, müssen Sie die netcat and ssh binaries herunterladen und folgende Befehle ausführen:
# this is an awful hack but does in fact work... host$ adb forward tcp:7979 tcp:6969 # make some named pipes so that we can make a bidirectional netcat phone$ mknod readback p host$ mknod readback p # this sets up a one time use connection to back to the host # listen on ports 6969 and 5959 and forward all the information between them phone$ ./netcat -l -p 6969 < readback | ./netcat -l -p 5959 > readback # connect to port 7979 (port 6969 on the device) and the local ssh server and forward all information between them host$ ./netcat localhost 7979 < readback | ./netcat localhost 22 > readback # now when we connect to port 5959 on the phone it will be like connecting to ssh server on the host # use the netcat reversal to set up an ssh connection back to the host and forward port 9999 on the device to 'localhost:8000' (this could be anything like 'google.com:80') phone$ ./ssh localhost -p 5959 -L 9999:localhost:8000
Das wird Port 9999 auf dem Gerät zu Port 8000 des Hosts weiterleiten.
Alternativ können Sie einen SSH-Server (dropbear und host_key) mit folgenden Befehlen direkt auf dem Gerät verwenden:
phone$ DROPBEAR_PASSWORD=root ./dropbear -p 9000 -F -v -a -r host_key ./dropbear host$ adb forward tcp:8888 tcp:9000 # public key authentication has been hard coded to succeed (make sure you have a public key for ssh to use) host$ ssh -vvv root@localhost -p 8888 -R 9999:people.mozilla.org:80
Weitere Anleitungen:
- Instructions for building dropbear
- dropbear patch to disable the crash from missing environment variables and hard code authetication sucess.