[Anleitung] ADB unter Linux einrichten

  • 27 Antworten
  • Letztes Antwortdatum
PJF16

PJF16

Ehrenmitglied
10.816
Kein Linux? ADB unter Windows einrichten!
ADB unter Mac OSX einrichten!
ACHTUNG! Ich übernehme keine Haftung für Schäden an euerem PC,Handy oder sonstigem!

Ich möchte in diesem Tutorial zeigen, wie ihr ADB unter Linux einrichten könnt. In meinem Tutorial verwende ich Ubuntu 10.10 x64. Es sollte aber bei allen Linux Betriebssystem gleich sein!

Was ist ADB?
"Android Debugging Bridge", kurz ADB, ist Bestandteil des Android SDK und ermöglicht den Zugriff von einem Computer/Laptop aus auf das Androidhandy, um verschiedene Operationen ausführen zu können.
ADB ist im Android SDK enthalten. Dort findet ihr es unter
Code:
/sdk-ordner/platform-tools
Bei älteren Versionen unter:
Code:
sdk-ordner/tools
Das Android SDK bekommt ihr kostenlos von hier: Android SDK | Android Developers

Für alle die sich nicht extra das SDK herunterladen wollen, habe ich das Tool aus dem SDK exportiert und kann unten im Anhang heruntergeladen werden. (.zip entpacken)

Das ADB-Tool könnt ihr normalerweise aufrufen, indem ihr in dem Verzeichnis wo das Tool liegt folgendes eingebt:
Code:
./adb  [parameter]
Dies ist aber sehr unpraktisch. Deswegen möchte ich euch hier jetzt zeigen wie ihr das Tool einfach von jedem Verzeichnis aufrufen könnt.

ACHTUNG!!! Bei diesem Vorgang wird "root" auf eurem PC benötigt. Ihr solltet vorsichtig sein, da man mit "root" das komplette System zerschießen kann!

Damit ihr meinem Tutorial 1:1 folgen könnt, legt euch das ADB Tool auf den Desktop. Dann öffnet das Terminal und gebt folgendes ein:
Code:
cd Desktop
sudo cp adb /bin/adb
(Passowortabfrage für "root")
Konsole offen lassen!

Wenn ihr das richtige Passwort eingetippt habt sollte das Tool erfolgreich kopiert sein. Um das zu testen gebt dann folgendes ein:
Code:
exit
adb
Nun sollte die Hilfe vom ADB Tool in der Konsole erscheinen. Das sollte in etwa so aussehen:

Code:
Android Debug Bridge version 1.0.26

-d                            - directs command to the only connected USB device
                                 returns an error if more than one USB device is present.
-e                            - directs command to the only running emulator.
                                 returns an error if more than one emulator is running.
-s <serial number>            - directs command to the USB device or emulator with
                                 the given serial number. Overrides ANDROID_SERIAL
                                 environment variable.
-p <product name or path>     - simple product name like 'sooner', or
                                 a relative/absolute path to a product
                                 out directory like 'out/target/product/sooner'.
                                 If -p is not specified, the ANDROID_PRODUCT_OUT
                                 environment variable is used, which must
                                 be an absolute path.
devices                       - list all connected devices
connect <host>[:<port>]       - connect to a device via TCP/IP
                                 Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
                                 Port 5555 is used by default if no port number is specified.
                                 Using this ocmmand with no additional arguments
                                 will disconnect from all connected TCP/IP devices.

device commands:
  adb push <local> <remote>    - copy file/dir to device
  adb pull <remote> [<local>]  - copy file/dir from device
  adb sync [ <directory> ]     - copy host->device only if changed
                                 (-l means list but don't copy)
                                 (see 'adb help all')
  adb shell                    - run remote shell interactively
  adb shell <command>          - run remote shell command
  adb emu <command>            - run emulator console command
  adb logcat [ <filter-spec> ] - View device log
  adb forward <local> <remote> - forward socket connections
                                 forward specs are one of:
                                   tcp:<port>
                                   localabstract:<unix domain socket name>
                                   localreserved:<unix domain socket name>
                                   localfilesystem:<unix domain socket name>
                                   dev:<character device name>
                                   jdwp:<process pid> (remote only)
  adb jdwp                     - list PIDs of processes hosting a JDWP transport
  adb install [-l] [-r] [-s] <file> - push this package file to the device and install it
                                 ('-l' means forward-lock the app)
                                 ('-r' means reinstall the app, keeping its data)
                                 ('-s' means install on SD card instead of internal storage)
  adb uninstall [-k] <package> - remove this app package from the device
                                 ('-k' means keep the data and cache directories)
  adb bugreport                - return all information from the device
                                 that should be included in a bug report.

  adb help                     - show this help message
  adb version                  - show version num

DATAOPTS:
(no option)                   - don't touch the data partition
  -w                           - wipe the data partition
  -d                           - flash the data partition

scripting:
  adb wait-for-device          - block until device is online
  adb start-server             - ensure that there is a server running
  adb kill-server              - kill the server if it is running
  adb get-state                - prints: offline | bootloader | device
  adb get-serialno             - prints: <serial-number>
  adb status-window            - continuously print device status for a specified device
  adb remount                  - remounts the /system partition on the device read-write
  adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
  adb reboot-bootloader        - reboots the device into the bootloader
  adb root                     - restarts the adbd daemon with root permissions
  adb usb                      - restarts the adbd daemon listening on USB
  adb tcpip <port>             - restarts the adbd daemon listening on TCP on the specified port
networking:
  adb ppp <tty> [parameters]   - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]
  <localdir> can be interpreted in several ways:

  - If <directory> is not specified, both /system and /data partitions will be updated.

  - If it is "system" or "data", only the corresponding partition
    is updated.

environmental variables:
  ADB_TRACE                    - Print debug information. A comma separated list of the following values
                                 1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
  ANDROID_SERIAL               - The serial number to connect to. -s takes priority over this if given.
  ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.
Abhängig von eurer ADB Version, kann sich die Hilfe unterscheiden!

Nun könnt ihr ADB von jedem Ordner ganz einfach aufrufen und zwar so:
Code:
adb [parameter]
Zum Beispiel:
Code:
adb shell
Ich hoffe manchen hilft das Tutorial :)
 

Anhänge

  • adb.zip
    152,7 KB · Aufrufe: 5.996
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: nik - Grund: Schriftfarbe angepasst, Gruß nik
  • Danke
Reaktionen: Whoosename, tabelist, Miss Montage und 15 andere
Danke echt gut erklärt hat sofort funktioniert :)
 
Ist das äquivalent zum einrichten einer Umgebungsvariablen für android-Entwicklung in Windows?? Danke :)
 
Dies ist rein für Linux. Für Windows den Link findest du oben.
 
PJF16 schrieb:
ACHTUNG!!! Bei diesem Vorgang wird "root" auf eurem PC benötigt. Ihr solltet vorsichtig sein, da man mit "root" das komplette System zerschießen kann!

Damit ihr meinem Tutorial 1:1 folgen könnt, legt euch das ADB Tool auf den Desktop. Dann öffnet das Terminal und gebt folgendes ein:
Code:
cd Desktop
sudo cp adb /bin/adb
(Passowortabfrage für "root")
Konsole offen lassen!


geht einfacher & ohne root

terminal öffnen und
Code:
gedit ~/.bashrc
eingeben


im texteditor dann folgendes in die ersten 2 zeilen eingeben
Code:
#AndroidDev PATH
export PATH=${PATH}:~/pfad/zu/adb
speichern
 
Danke dir! ;)

Werde auch diesen Weg in der Anleitung erwähnen.
 
Bei mir kommt immer wenn ich auf den Desktop navigieren will: No such file or directory

Ich nutze Ubuntu...
 
Tool erfolgreich kopiert sein. Um das zu testen gebt dann folgendes ein:
g.gif
 
Komplettes Script zum installieren von ADB und Fastboot unter Linux. Die .sh Datei im Terminal ausführen, die 51-Android-Rules habe ich noch hinzugefügt.
 

Anhänge

  • TreiberLinux.zip
    35 KB · Aufrufe: 1.306
  • Danke
Reaktionen: Gelegenheitsrentner
Vorsicht!

Das hier funktioniert aus verschiedenen Gründen nur unter ganz bestimmten Linux "Versionen", wahrscheinlich nur unter Ubuntu und Ubuntu Derivaten!
 
Äh, nein. Die Anleitung ist Distributionsübergreifend.

Außer natürlich du meinst den Post vor deinem. Dann stimmt es. :D
 
Wüsste nicht was hier distributionsspezifisch sein sollte. :D
 
Der PPA-Link aus Post #10 :p

Das ist Ubuntu-spezifisch ;)
 
"sudo" ist unter Debian Wheezy standardmäßig nicht eingerichtet. Und den Ordner "/Desktop" in /home/username/ gibt es auch nicht in der Deutschen Version von Debian. Und ich vermute mal bei einigen anderen Distributionen ist das auch so.

Abgesehen davon kann (und sollte) man unter Debian "stable" adb aus den "testing" Quellen bzw. unter "Jessie/Testing" direkt aus dem Repo installieren.

Diese Anleitung mag also gültig und sinnvoll für Ubuntu und möglicherweise auch für einige Ubuntu Derivate sein, aber ganz sicher nicht für jede Linux Distribution.
 
Hmm, in der deutschen Version heißt es seit einiger Zeit glaub Arbeitsfläche, zumindest unter Ubuntu und co.

Man kann die Anleitung dennoch auf die gängstigen Distributionen anwenden, auch wenn die sudo-aktivierung unter Debian 7 2 Befehle sind die man evtl noch ausführen kann/sollte.
 
Nö, kann man nicht. Und sudoers anlegen um drei Kommandos zu pasten...
 
Achtung, DAU-Alarm: Nach Herunterladen und Kopieren von adb gemäß Anleitung von PJF16 beschwert sich Ubuntu (ich nutze 14.04 LTS) auf den Befehl "adb":
Code:
adb: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Im Ubuntu Software-Center wird mir eine gleichnamige Bibliothek nicht angeboten. Allerdings wird libstdc++6 4.8.2-19ubuntu1 als installiert angezeigt.

Wat nu?

(Sollte die Antwort lauten: "Bei Deinem Linux-Kenntnisstand solltest Du tunlichst die Finger von einem mächtigen Tool wie adb lassen, Du machst damit garantiert irgendwas kaputt", wäre das immerhin eine Information und entsprechend auch akzeptabel.)
 
Geh ins Terminal und gebe ein: apt-get install lib32stdc++6

Natürlich entsprechende Rechte vorrausgesetzt, also noch ein sudo vorne dran ;)

Das sollte eigentlich dein Problem beheben.
 
  • Danke
Reaktionen: matthes77
Gibts eine 32bit (oder multilib) version davon (denke normal schon) ?
Wenn ja versuch mal die

edit:
hast du das sdk direkt von google genommen oder die "android-tools-adb" + "...fastboot" ? (letztere sollten eigentlich die nötigen Abhängigkeiten installieren).

(und ich seh gerade, ich war zu langsam :) )
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: matthes77

Ähnliche Themen

Danie=mc^2
  • Danie=mc^2
Antworten
2
Aufrufe
925
BOotnoOB
BOotnoOB
M
  • moosburger
Antworten
0
Aufrufe
1.309
moosburger
M
Sunny
Antworten
105
Aufrufe
15.503
Kenarso
Kenarso
Zurück
Oben Unten