ADB und Fastboot - Grundlegendes Tutorial und Know-How

Ozryel

Ozryel

Fortgeschrittenes Mitglied
96
Tach zusammen

Da es bislang kein ausführliches Tutorial für die Nutzung von adb und fastboot in diesem Forum gibt, habe ich mich mal an eins gesetzt.

Was ihr hier lest ist eine ziemlich lange Beschreibung der Funktionen und des Nutzen dieser Tools. Um es etwas übersichtlicher zu gestalten ist das meiste in Spoilern untergebracht und der Text ist auf mehrere Posts verteilt.

Es ist noch nicht 100% fertig, ein paar Sachen fehlen noch und Bilder/Screenshots werd ich auch noch hinzufügen.
Ich bin für jegliche Kritik offen und hoffe die Qualität dieser Posts dadurch noch verbessern zu können.

Greetz
Ozryel


Mein Dank geht an Aaskereija für die Hilfe und das Sortieren der Posts.
--------------------------------------------------------------------------------------------------------------------------------------------------------------

Warnungen:
Modifikationen an der Software können zum Erlöschen der Garantie führen!
Fehler beim Durchführen von flashes und wipes können das Gerät unbrauchbar machen!
Alle Aktionen gehen auf eigenes Risiko! Falls etwas schiefläuft erkundigt euch im passenden Geräteforum nach Lösungen.
Vor irgendwelchen Aktionen sollte man alle wichtigen Daten und Dateien sichern!
Alle Supportanfragen bitte im Geräteforum stellen!
Hier nur Kritik, Ergänzungen und Anregungen zum Tutorial posten!

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Inhalt

1 Was ist ADB?
2 Was ist Fastboot?
3 Wo bekomm ich das her?
3.1 Android SDK​
3.1.1 Windows​
3.1.2 Linux​

3.2 Installer Tools​
3.2.1 Minimal ADB​
3.2.2 15 seconds ADB installer​
3.2.3 Minimale ADB Installation unter Linux​

4 Handy vorbereiten
5 ADB Verbindung aufbauen
6 ADB Befehle
6.1 Wichtigste Befehle​
6.2 Alle anderen Befehle​
7 Fastboot Befehle
8 Wofür das Ganze?
8.1 Custom Recovery​
8.2 Custom Kernel​
8.3 Custom Rom​
8.4 Xposed Framework​
9 Troubleshooting


Die Android-Debug-Bridge ist eine Software-Schnittstelle für das Android-System, die genutzt werden kann, um von einem Computer per USB-Kabel auf ein Android-Smartphone zugreifen und Befehle ausführen zu können.

Dieses Zitat stammt aus dem droidwiki

Es geht aber noch weiter:

Die ADB ist eine Software-Schnittstelle zwischen dem PC und dem Endgerät, die es erlaubt, eine direkte Kommunikation zwischen den beiden Komponenten zu führen.

Die Kommunikation ist sehr vielfältig und reicht von einfacher Informationsbeschaffung, über den Zugriff auf die Shell, bis hin zum Installieren von Apps.
ADB ist Teil des Android SDK und bei Windows als adb.exe in den platform-tools zu finden. Dazu mehr bei der Installation.

Fastboot ist vom Funktionsprinzip her, ADB sehr ähnlich. Der Hauptunterschied ist aber, dass fastboot zur Kommunikation mit Geräten dient, die sich im Bootloader befinden.

Es wird primär benutzt um Images zu flashen und den Bootloader zu manipulieren.

Grundsätzlich gibt es adb und fastboot für Windows, Linux und Mac.

Da ich von Mac null Ahnung habe, muss ich die Apple-Jünger erstmal vertrösten was eine Installationsanleitung meinerseits angeht. Google hilft.

Generell gibt es mehrere Möglichkeiten an die benötigten Tools zu kommen. Das Android SDK ist quasi die Vollversion, die Installer liefern nur den Kern den wir brauchen.
Installer sind einfacher in der Benutzung und auch schneller, dafür kann man mit dem SDK auch eventuelle Updates direkt beziehen.

Das Android SDK ist dazu gedacht APPs, ROMs und alles was es sonst bei Android so gibt zu Entwickeln.
Der Teil ist hier aber uninteressant.
Was wichtig ist: Das SDK enthält adb und fastboot!

Herunterladen kann man das SDK auf der offiziellen Google Seite. Wählt „SDK Tools Only“ für die Plattform, die ihr halt nutzt.

Voraussetzung für das SDK ist ein Java JDK der Version 6 oder höher. Das findet man hier

Den Installer von Google runterladen und ausführen.
Ein paar Mal weiter klicken bis man zur Auswahl des Installationspfads kommt.
Hier empfehle ich einen möglichst Root-nahen Ordner zu wählen, wie z.B.
Code:
C:\android-sdk\
Das hat einfach den Vorteil, dass man später nicht mit ewig langen Pfaden hantiert und immer suchen muss, wo der verdammte Ordner ist.

Wenn die Installation durch ist, sieht es im angegebenen Ordner noch recht leer aus.
Der Installer schlägt vor den SDK Manager zu starten, was wir dankend annehmen.
Im Manager können wir nun wählen, was wir alles haben wollen.
Es reicht die Platform-Tools und die Google USB Driver zu wählen, alles andere kann abgewählt werden.
Die Installation der zwei Pakete wird mit einem Klick auf „Install Packages“ gestartet. Es öffnet sich ein Fenster, in dem Lizenzen angenommen werde müssen. Einfach unten rechts den Radio Button „accept license“ anklicken und mit einem Klick auf „Install“ geht’s dann weiter.
Nach kurzer Zeit ist die Installation vollendet und der SDK Manager kann geschlossen werden.

Im Ordner des android-sdk ist jetzt der heiß ersehnte Unterordner platform-tools aufgetaucht.
In diesem befinden sich abd.exe und fastboot.exe.
Der ganze SDK Ordner ist so nur ~330MB groß. Als Systemvorraussetzung gibt Google übrigens 400MB an.

sdk install 1.JPG sdk install 2.JPG sdk install 3.JPG sdk install 4.JPG sdk install 5.JPG sdk install 6.JPG sdk install 7.JPG

Damit man nicht immer in diesen Ordner navigieren muss, tragen wir ihn in die Umgebungsvariabeln ein. Das erleichtert uns den Umgang mit der Kommandozeile später erheblich.

Dafür einfach das Startmenü öffnen (Windows 8 Nutzer nehmen die Suche auf der Metrooberfläche) und nach Umgebungsvariabeln suchen.
In den Suchergebnissen „Umgebungsvariablen für dieses Konto bearbeiten“ wählen.
Im sich öffnenden Fenster in der oberen Hälfte auf Neu klicken und folgende Werte eintragen

Name der Variable: PATH
Wert der Variable: ;C:\android-sdk\platform-tools\

Letzteres natürlich daran anpassen, wo ihr das SDK hin installiert habt. Das Semikolon am Anfang gehört wirklich dahin und darf nicht vergessen werden.

Das war die Installation über das Android SDK unter Windows. Weiter unten gibt es noch einfachere Methoden.

Voraussetzung für das SDK ist ein Java JDK der Version 6 oder höher.

Für die Debianer ist das Paket in aptitude verfügbar, kann also mit „apt-get install openjdk-7-jdk“ einfach installiert werden.

Da die weitere Installation hier schon perfekt erklärt ist, spare ich mir das mal.
Ihr braucht nur Schritt 1 bis 5 durchzuführen. Danach geht es dann um die wirkliche Entwicklungsumgebung
Eclipse braucht ihr nicht und im SDK Manager nur platform-tools und Google USB Driver installieren reicht aus.

Auch hier gibt es noch einen einfacheren und schnelleren Weg, der bei Punkt 3.2.3 beschrieben ist.

3.2.1 Minimal ADB (Windows)

Minimal ADB ist ein kleiner Installer der nur adb, fastboot und die benötigten Bibliotheken installiert. Das Ganze ist keine 5MB groß und hat erstmal alles was man braucht. Was hier aber fehlt sind die Treiber für ADB und Fastboot. Diese müssen manuell installiert werden.

Auch hier wieder darauf achten einen kurzen Pfad zu wählen der möglichst nah am Root-Verzeichnis liegt, z.B. „C:\adb“. Eine Eintragung in die Umgebungsvariablen ist empfehlenswert und oben bereits beschrieben.
<Download gibt’s hier>


3.2.2 15 seconds ADB Installer (Windows)
Wie der Name schon sagt ein weiteres Tool, das super schnell Adb installiert.
Der Vorteil gegenüber Minimal ADB ist, dass man auch die benötigten Treiber direkt mit installieren kann.
Nachteil: Hier kann man den Pfad nicht selbst bestimmen, wo adb landet. Dafür ist der Standard Pfad direkt „C:\adb“, was ich sowieso empfehle.
Wie vorher auch: Umgebungsvariablen machen alles besser.
<Download gibt’s hier>


3.2.3 Minimale ADB Installation mit Linux
Mittlerweile sind die platform-tools im Debian Repository angelangt und können einfach mit der Paketverwaltung eures Vertrauens installiert werden.

Hier als Beispiel die Installation mit apt-get

Code:
sudo apt-get install android-tools-adb android-tools-fastboot android-tools-adbd

mrrbr schrieb:
Falls kein Paket gefunden wurde mittles ppa:
Code:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
Danach die Installation nochmals anstoßen.

Die Programme werden in /usr/bin installiert und sind direkt in der Kommandozeile verfügbar. Hier muss man keine Umgebungsvariablen in der bashrc setzen.

Für SUSE/Red Hat/CentOS/Fedora gibt es das Paket hier.
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: nik - Grund: Farbe zur besseren Kompatibilität mit dem Darkmode entfernt. Gruß nik
  • Danke
Reaktionen: Sh0X31, Dipl1ngWhite, tecalote und 4 andere
Auf dem Handy muss nichts Weltbewegendes geändert werden um adb zu nutzen.

Zuerst müsst ihr die Entwickleroptionen freischalten.
Dazu in die Einstellungen gehen, die Geräteinfo öffnen.
Normalerweise der unterste Eintrag in den Einstellungen, bei Samsung mit ihrer kack TouchWiz unter Einstellungen > Optionen > Info zum Gerät, bei LG Einstellungen > Allgemein > Telefoninfo.
Falls ihr es trotzdem nicht findet gibt es jede Menge YouTube Videos, die das ganze zeigen. Da ist bestimmt auch eins für euer Gerät dabei.

Wenn ihr die Geräteinfo gefunden habt, klickt ihr auf „Softwareinformationen“ und dort sieben Mal auf „Build-Nummer“.
In den Einstellungen ist nun das neue Menü „Entwickleroptionen“ erschienen.
Dort geht ihr rein und scrollt zu „USB-Debugging“ und aktiviert es. Es erscheint eine Warnmeldung, die ihr mit OK bestätigt.
Falls ihr später Apps über ADB installieren wollt müsst ihr in den Sicherheitseinstellungen „Unbekannte Herkunft“ erlauben. Auch hier kommt eine Warnmeldung, die ihr mit OK bestätigt

Das war’s auch schon an Einstellungen auf dem Handy.

Schließt euer Handy einfach per USB an den Rechner an und öffnet die Kommandozeile.

Bei Windows ist das die cmd.exe. Der schnellste Weg diese aufzurufen ist es die Tastenkombination „Windowstaste + r“ zu benutzen und dort „cmd“ eingebt.

Es öffnet sich das Konsolenfenster.
Für die Windows User wird die Konsole sehr ungewohnt sein, aber ihr werdet kein tiefgründiges Wissen darüber brauchen. Es dreht sich alles nur um adb und fastboot.

Gebt nun erstmal
Code:
adb devices
ein.

Falls ihr die Umgebungsvariablen nicht gesetzt habt, müsst ihr erst in den passenden Ordner wechseln. Das geht mit „cd C:\Pfad\zu\adb.exe“, oder ihr benutzt den Explorer um in den richtigen Ordner zu gelangen und drückt dort gleichzeitig „Strg + Shift + rechte Maustaste“. Es öffnet sich das Kontextmenü wie man es kennt, nur das der Eintrag „Kommandozeile hier öffnen“ hinzugekommen ist. Den anklicken und die Konsole öffnet sich und man ist auch dort im richtigen Ordner.

Auf Linux einfach ein Terminal öffnen und auch „adb devices“ eingeben.

Es kommt folgende Ausgabe:
Code:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
E2ATCT018116  offline

Es wird der adb Dienst gestartet, der die Kommunikation mit dem Handy regelt, die letzte Zeile zeigt die Seriennummer und den Status des Gerätes.

Auf eurem Handy erscheint eine Warnung. Hier authentisiert sich der Rechner bei eurem Handy mit der Signatur seines RSA-Schlüssels. Was genau das bedeutet sagt euch Google.
Für uns heißt das nur, dass sich Handy und Computer kennen lernen und falls ihr an eurem heimischen Computer sitzt könnt ihr den Haken setzten, sodass die Meldung nicht mehr erscheint.
Der RSA-Fingerabdruck des Rechners wird dadurch zu den vertrauenswürdigen Geräten hinzugefügt.
Das bedeutet aber auch, dass Fremde an diesem Rechner und eurem Handy abd nutzen können ohne das Gerät zu entsperren.
Wenn ihr die Meldung bestätigt habt, wiederholt ihr nochmal den Befehl von eben.
Dazu einfach mit der Pfeiltaste nach oben blättern. Dort sind immer die letzten Befehle der Konsolensitzung verfügbar.

Ihr seht nun diese Ausgabe
Code:
List of devices attached
E2ATCT018116  device

Der abd Dienst wird nicht nochmal gestartet und euer Gerät ist nun nicht mehr offline.

Falls euch kein Gerät angezeigt wird, überprüft ob die Treiber richtig installiert sind!

Nun kann die eigentliche Arbeit mit adb beginnen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Sh0X31
Wenn ihr nur „adb help“ eingebt erscheint die sogenannte man page (Manual Page → Anleitung für ein Programm).

Dort werden alle verfügbaren Parameter und Befehle für abd aufgelistet. Da das Ganze auf Englisch ist werde ich alle Befehle kurz erläutern.

Hier nun die wichtigsten Befehle für adb

Code:
adb devices

Haben wir ja schon kennengelernt
Der Befehl listet alle an den PC angeschlossenen adb fähigen Geräte auf.
Es empfiehlt sich immer nur ein Gerät anzuschließen um Fehler zu vermeiden.
Wenn nur ein Gerät angeschlossen ist, wird dieses automatisch genommen. Bei mehreren Geräten muss immer angegeben werden welches man denn grad nehmen will.


Code:
adb push <lokal> <remote>
Mit Adb Push kopiert man Dateien vom Computer auf das Handy.
<lokal> ist mit dem relativen oder absoluten Pfad der zu kopierenden Datei zu ersetzen.
Ich empfehle mit der Kommandozeile in dem Ordner zu arbeiten, in dem die Datei liegt, oder alle Dateien in den Ordner zu platzieren in dem auch adb liegt.

<remote> gibt den Pfad auf eurem Gerät an, wo die Datei landen soll.
Wichtig ist, da es sich um eine Linux-artige Shell wird der Pfad etwas anders angegeben.
Statt dem \ wie bei Windows, benutzt Android / als Pfadtrenner.

Wenn die Datei ihren Namen behalten soll endet der remote Pfad auf ein /,
wenn die Datei direkt umgetauft wird endet der Pfad auf „/Dateiname“

Hier mal ein Beispiel für das Verschieben einer Textdatei auf den internen Speicher meines Handys. Pfadangaben können abweichen
Code:
adb push C:\adb\textdatei1234.txt /sdcard/
Auf meinem Handy heißt die Datei nun auch textdatei1234.txt

Wenn ich einen anderen Namen möchte sieht das so aus:
Code:
adb push C:\adb\textdatei1234.txt /sdcard/text.txt
Die Datei auf dem Handy heißt nun text.txt.

Falls der Pfad auf eurem Rechner Leerzeichen enthält, muss dieser in Anführungszeichen. Auf dem Handy solltet ihr keine Ordner oder Dateien mit Leerzeichen im Namen verwenden.


Code:
adb pull <remote> <lokal>
Macht das gleiche wie push, nur in die andere Richtung.
Es kopiert Dateien vom Handy auf euren Rechner.
Der Rest funktioniert gleich.


Code:
adb shell
adb shell startet eine Remote Shell auf das Handy. Das ist das gleiche, wie auf eurem Handy den Terminal Emulator starten.
Die Benutzung der Android Shell wird hier erstmal kein Thema sein, ist aber die gleiche, wie bei jedem anderen Linux auch, nur kann halt weniger.


Code:
adb install (-r -s) appname.apk
Wie der Name schon vermuten lässt, installiert man hiermit Apps auf dem Handy
Die einfachste Variante ist „adb install appname.apk“. Das installiert die App als User App.

Es gibt folgende wichtige Parameter bei der Benutzung
-r reinstall Damit wird eine App erneut installiert und alle Daten bleiben erhalten
-s sdcard Die App wird auf die SDKarte installiert, statt des internen Speichers

Die anderen Paramater braucht man eher selten, die werde ich eventuell später ergänzen.


Code:
adb uninstall packagename
Auch hier ist der Name Programm, allerdings reicht es nicht den Namen der .apk zu wissen, sondern man braucht den vollständigen Paketnamen.

Um diesen herauszufinden empfehle ich https://play.google.com/store/apps/details?id=com.gijoon.pkgnameviewer&hl=de]Package Name Viewer[/url]
Dieser listet alle Apps nach Name auf und bei jedem Eintrag seht ihr auch den PackageName.
Als Beispiel hat Chrome den Packagename „com.android.chrome“.


Code:
adb logcat (> Datei)
Mit diesem Befehl seht ihr die Ausgabe des syslog.
Da das ganze sehr viel Output gibt und auch sehr schnell abläuft, ist ein normales mitlesen fast unmöglich.
Deshalb sollte man die Ausgabe in eine Datei umlenken, indem man „> log.txt“ an den Befehl anhängt. Damit wird die Ausgabe in die Datei log.txt geschrieben und in der Kommandozeile komplett unterdrückt um das Ganze später in Ruhe lesen zu können.
Um das loggen zu beenden einfach „STRG + C“ drücken.


Code:
adb reboot
Hiermit kann man das Gerät neustarten.

„adb reboot recovery“ startet das Handy ins recovery, ganz egal ob das Standard recovery drauf ist, oder ein Custom wie TWRP oder CWM. Genaueres später.

Wenn man „adb reboot bootloader“ nimmt, startet das Handy in den Bootloader. Hier geht es dann mit nur fastboot weiter. Dazu ebenfalls später mehr.


Code:
adb sideload <datei.zip>
Hiermit wird ein flashbare .zip Datei auf das Handy verschoben, das Gerät startet ins Recovery und die .zip wird Automatisch installiert.
Bei Stock-Recoverys klappt das natürlich nur mit offiziellen Paketen vom Hersteller.
Mit einem Custom Recovery kann man theoretisch flashen was man will.

Das waren auch schon die meiner Meinung nach die wichtigsten Befehle für adb


Weitere Adb Befehle werde ich nach und nach ergänzen.

Code:
adb tcpip <Port>
Wenn man kein USB-Kabel hat, kann man das Ganze auch übers Netzwerk laufen lassen.
Voraussetzung: Man kennt die IP seines Handys, Computer und Handy befinden sich im gleichen Netz.
Den <Port> setzt man auf einen Highport (<1024), z.B. 5555.
Um sich nun mit dem Gerät zu verbinden benutzt man den Befehl
Code:
adb connect <IP des Handy>:<Port>
Danach funktioniert alles wie sonst auch.


Fastboot ist der Befehlssatz für den Bootloader und funktioniert nur wenn das Gerät auch im Bootloader ist.
Wie oben bei den adb Befehlen bereits gezeigt, startet man das Gerät in den Bootloader mit „adb reboot bootloader“.
Es gibt auch allerlei Tastenkombinationen beim Systemstart, die aber Gerätespezifisch sind. Über adb klappt das aber mit allen Geräten.

Mit fastboot muss man vorsichtig sein und wissen was man tut, da die Gefahr besteht, dass das Gerät unbrauchbar wird und ihr nur noch einen schicken Briefbeschwerer habt.

Am besten ihr ladet euch vorher beim Hersteller ein Original Rom runter, in dem die Original Images drin sind, oder ihr macht ein Backup mit einem Custom Recovery.


Code:
fastboot devices
Listet alle verbundenen Geräte auf, hier erscheinen nur Geräte, die im Bootloader sind.


Code:
fastboot oem unlock (key)
Mit diesem Befehl entsperrt man den Bootloader, sodass man ein Custom Recovery oder ein unsigniertes Paket flashen kann.
Das klappt aber nicht bei allen Geräten gleich, falls es überhaupt klappt.
Manche Hersteller stellen Tools/Apps zur Verfügung (z.B. Asus), andere haben Webportale, wo man alles zum entsperren findet (Sony, HTC).

Ganz wichtig: Beim Entsperren des Bootloader wird das Handy aus Sicherheitsgründen IMMER auf Werkszustand zurückgesetzt.

Für jedes Gerät ist der Prozess unterschiedlich, falls es überhaupt möglich ist.
Bei meinem Asus Padfone A86 gibt es z.B. keine Möglichkeit den Bootloader zu entsperren.
Das Sony Xperia S, das ich vorher hatte ließ sich recht einfach entsperren. Sony bietet ein Portal um das zu machen.

Im Portal wählt man sein Gerät und gibt seine E-Mail ein.
Man bekommt einen Bestätigungslink, der einen zu der Seite führt, wo man die IMEI seines Gerätes eingibt. Daraus wird ein Key generiert der nur für dieses eine Handy gültig ist. Sony weiß dadurch aber auch welche Geräte entsperrt wurden und wird den Support/die Garantieleistungen danach sehr wahrscheinlich verweigern.

Dort findet man auch die Anweisungen, wie man sein Gerät entsperrt.
Hier als Beispiel zu einem Xperia S:
Code:
fastboot -i 0x0fce oem unlock 0x1AF23F2XXXXX58F5
Ich habe den Key durch X unkenntlich gemacht, damit keiner auf die Idee kommt den einfach mal bei sich auszuprobieren. Das würde sowieso nicht funktionieren.

Wie verschlossen so ein Bootloader tatsächlich ist, kann sich stark unterscheiden.
Bei manchen Herstellern lässt ein geschlossener Bootloader bloß keinen neuen Kernel zu, der Rest klappt ohne Probleme.
Andere Hersteller lassen einen echt gar nichts machen.

Bei meinem Padfone A86 hat Asus anscheinend etwas geschlampt. Der Bootloader lässt sich zwar nicht entsperren und das flashen eines Recovery gibt eine Fehlermeldung zurück, aber funktionieren tut es trotzdem.

Wichtig: Images müssen Geräte- und Versionsspezifisch sein!!!

Das Image des einen Gerätes wird beim anderen nicht funktionieren, also gar nicht erst ausprobieren.
Passende Images findet ihr mit Hilfe von Google, dort am besten nach Ergebnissen aus dem XDA Forum Ausschau halten.


Code:
fastboot flash <partition> <dateiname>
flash ist DER fastboot Befehl. Er wird am meisten genutzt und ist auch der interessanteste Befehl.
Aber auch der gefährlichste, da man einiges falsch machen kann und das Handy eventuell unbrauchbar wird.

Es gibt folgende Dinge die man flashen kann

Code:
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash cache cache.img
fastboot flash userdata userdata.img

Beim Installieren eines komplett neuen Systems sollte man mit dem Parameter „-w“ die Daten wipen/löschen lassen. Das verhindert einige mögliche Probleme, dafür muss man aber alles neu einrichten.

Die erste Variante wird euch am häufigsten begegnen, damit installiert man ein anderes Recovery.
Mit Nummer Zwei dient dazu einen neuen Kernel zu installieren.
Nummer Drei flasht das eigentliche System
Die letzten zwei trifft man eher selten, da der Cache sowieso gelöscht werden kann wie man will. Der wird beim ersten Start erst befüllt.

Userdata, also die Benutzerdaten, wird man kaum vorgefertigt finden.
Die Benamung der Images kann natürlich abweichen.


Code:
fastboot erase
fastboot format

Mit den zwei Befehlen kann man die Partitionen, die man auch flashen kann, löschen, bzw. neu formatieren. Das wollte man nur machen wenn man wirklich weiß was man tut, sonst hat man nur noch einen formschönen Briefbeschwerer.


Code:
fastboot oem device-info
Hier kann man sich Informationen über den Bootloader des Gerätes holen.
Was die einzelnen Angaben bedeuten, findet ihr bei Google.

Das Interessante ist hier „Device unlocked“.
Falls dort false steht, ist der Bootloader eures Gerätes gesperrt. Ein true steht natürlich dafür, dass der Bootloader entsperrt ist.


Code:
fastboot boot <Dateiname>.img
Damit kann man ein Image einmalig starten. Nach einem Neustart ist wieder alles beim Alten.
Es bietet sich z.B. an ein Recovery temporär zu nutzen, wenn man eine neue Version testen will um zu sehen ob diese mit dem Gerät funktioniert.

Aber: Seit Android 4.3 muss man noch etwas mehr machen, was aber eher schlecht dokumentiert ist. Es gibt nur einige Posts im XDA zu dem Thema und diese beziehen sich nur auf das Nexus 4.

Da ich nicht weiß, ob das für alle Geräte gilt und ob man das Workaround überall nutzen kann, ist man leider auf das flashen angewiesen. Falls jemand mehr weiß als ich, bitte meldet euch.


Code:
fastboot continue
fastboot reboot

Das sind die Befehle um den Bootloader zu verlassen. Mit „fastboot continue“ wird der Boot normal fortgesetzt.
„reboot“ allein startet neu, mit „reboot bootloader“ landet man wieder im Bootloader.


Code:
fastboot flash:raw boot <Kernel>
Dieser Befehl flasht einen unkompilierten Kernel.
Wer nicht verstanden hat was das heißt, sollte gar nicht darüber nachdenken den Befehl zu testen.

So, dass war’s auch schon mit fastboot.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Sh0X31 und flyyy
8 Wofür das Ganze?

Ganz schön viel Arbeit, aber was kann man damit alles anstellen?

Hier mal eine Übersicht

Alles was dazu zu sagen ist, steht bereits im droidwiki

Über die Benutzung des Recovery informiert ihr euch auch am besten dort
CWM
TWRP


Der Kernel ist die unterste Softwareebene eines Systems und hat direkten Zugriff auf die Hardware.
In einem Custom Kernel können allerlei tiefsitzende Einstellungen geändert werden, wie z.B. der minimal und maximale Prozessortakt.


Wenn es um Android flashen geht, wird man unweigerlich über Custom Roms stolpern.
Der wohl bekannteste Vertreter ist CyanogenMod, der sogar von ein paar Herstellern als Standard Rom verwendet wird.
Diesen gibt es für sehr viele gängige Geräte, aber auch inoffizielle Ports auf weitere Handys.
Die Liste der offiziellen Versionen findet ihr hier

Im XDA Developers Forum findet man aber noch sehr viele andere Custom Roms.
Das liegt einfach daran, dass Android OpenSource ist und quasi jeder sich einfach einen Rom basteln kann.

Je weiter das eigene Gerät verbreitet ist, desto mehr werdet ihr finden. Für die allgegenwärtigen Samsung Galaxys, oder die Google Nexus Geräte gibt es unzählige Custom Roms.
Da kann man sich einfach einen aussuchen, der einem Persönlich zusagt. Hier geht es sowohl um die Optik, als auch um die Technik.
Man sollte immer den Thread zu einen Custom Rom fleißig lesen, da dort von Problemen berichtet wird und Troubleshooting betrieben wird.
Es kann bei manchen, neueren Custom Roms immer vorkommen, dass gewisse Sachen nicht funktionieren (z.B. kein NFC, Crash beim Ändern von Einstellungen).
Das wird dann nach und nach behoben, aber da das Leute sind, die sowas in ihrer Freizeit machen, kann die Zeit bis zu einem Update sehr lang sein.
Man sollte also auch darauf achten, dass man sich einen Rom sucht, der aktiv entwickelt wird.

Die meisten Custom Roms sind auch schon gerootet, enthalten keine Bloatware lassen sich ohne weiteres modifizieren.


Mein persönlicher Liebling ist das Xposed Framework.
Alles Wichtige dazu gibt es im droidwiki zum Nachlesen.

Es sei gesagt, dass Xposed ab Android 5 über das Recovery geflasht werden muss.
Bei allen Android Versionen ist zwingend root erfordert.

Bei der Wahl der flashbaren zip muss man auf die Prozessorstruktur des eigenen Gerätes achten. Diese findet man mit diesem Befehl raus
Code:
adb shell cat /proc/cpuinfo
Die erste Zeile sagt euch, was für einen Prozessor ihr habt. Sicherheitshalber aber nochmal googeln.

Bei mir sieht das so aus, ich habe folglich einen ARMv7 Prozessor
CPU-info.JPG

Nächster Knackpunkt ist die richtige API Version eurer Android Version zu wählen. Eine Liste dazu gibt’s auf Wikipedia.

Hier mal eine kleine Liste von Xposed Modulen die ich selbst benutze:
NoSafeVolumeWarning – Deaktiviert die wiederkehrende Meldung zu sicherer Lautstärke bei der Verwendung von Kopfhörern
YouTube AdAway – Der Name sagt schon alles. Man will nicht mehr ohne Leben
XBlast Tools – Neben GravityBox die bekannteste Modifikationsapp bei Xposed. Hier kann man so ziemlich alles Optisch bearbeiten, angefangen von der Statusleiste, über den Lockscreen bis hin zu der Farbe des Benachrichtigungs-LED für jede App einzeln (Facebook blau, WhatsApp grün, usw. Falls das LED mehrfarbig ist).


Die Vor- und Nachteile von Root kann man relativ schnell googeln, da werde ich nicht drauf eingehen.

Was mir mit am wichtigsten ist: Man kann die Werbung blockieren, sowohl im Browser als auch in den meisten Apps. Ich benutze dafür LuckyPatcher, es gibt aber auch sehr viele Apps die nur dafür entwickelt wurden. Einfach im PlayStore nach Adblock suchen.

Ein funktionierendes Custom Recovery ist der einfachste Weg sein Gerät zu rooten. Man sucht sich die passende Flashbare SuperSu.zip und installiert diese über das Recovery.
Anleitungen dazu findet man auch überall im Internet.

Hier die Kurzfassung:

Supersu.zip auf den internen Speicher des Handys kopieren, ins Recovery starten, Install wählen, besagte .zip wählen.
Installation läuft durch, Handy neustarten, fertig.

Bei der Wahl der Zip muss man die für seine Android Version passende die UPDATE_SuperSu.zip bzw. BETA_SuperSu.zip nehmen.

Es empfiehlt sich einfach die neuste Version aus dem XDA runterzuladen und zwar hier.

Nach dem Neustart ist die SuperSu App installiert.
Es ist eine App, mit der man den Zugriff von Apps auf die Root Rechte regeln kann. Man sollte nicht ohne Su-Manager arbeiten, da man sonst keine Kontrolle hat.
Es gibt einige andere Root-Manager, wie KingUser oder Superuser, aber ich halte SuperSu für die beste.
Hier nochmal der PlayStore-Link


Fast schon eine Pflichtinstallation, einige Rootapps arbeiten nicht ohne.
Die BusyBox vereint unzählige Linux Kommandozeilentools in ein einzelnes „Programm“, welches die Arbeit mit der Konsole, sei es nun per Terminal Emulator oder adb shell deutlich komfortabler und Linux ähnlicher macht.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Sh0X31 und tecalote
9 Troubleshooting

Falls die Vorschläge hier nicht helfen, fragt entweder im passenden Geräteforum oder dort wo ihr den ROM/Kernel/Recovery/was auch immer her habt.


Adb devices zeigt mein Gerät nicht an -> Treiber installiert? USB-Debugging aktiviert?

Mein Gerät wird unathorized angezeigt -> Auf dem Handy den Zugriff des PC erlauben

Mein Gerät wird offline angezeigt -> Mit dem SDK Manager die platform-tools updaten / mit adb kill-server den Adb Service stoppen / Autorisierung für bekannte Computer löschen

dem Flashen eines Recovery -> Unwahrscheinlich, da das Recovery nichts mit dem boot zu tun hat.

dem Flashen eines Kernels -> Kompatiblen Kernel verwendet? -> Original Kernel flashen

dem Flashen eines Systems -> Kompatibles System verwendet? -> Original ROM flashen

dem Flashen eines Recovery nicht in das neue Recovery -> Recovery nicht kompatibel, anderes testen oder Original Recovery wieder flashen


Alle Daten sind weg -> Dann wurde wohl der Parameter „-w“ bei fastboot verwendet, oder der Wipe im Recovery ausgewählt. Deshalb sichert man alles Wichtige VOR dem flashen. Beim Bootloader unlock wird IMMER ein wipe durchgeführt.

Bei manchen Custom Roms kann es vorkommen, dass gewisse Sachen nicht funktionieren. Vorher im XDA Thread nachlesen ob sowas bekannt ist. Falls nicht, dem Entwickler Bescheid geben.

Beim Flashen den Dalvik Cache und die Userdaten wipen lassen.

Im Zweifelsfall den Original Rom flashen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Sh0X31, oetzi69 und tecalote
Der Beitrag ist zwar schon etwas älter, aber nach langer Sucherei konnte ich so meine Gear Live wiederherstellen. Normales Verbinden war nicht möglich und über Adb kam immer offline oder unauthorized. Erst mit fastboot konnte ich eine neue Firmware installieren.
 
  • Danke
Reaktionen: Ozryel
ADB gibt es nur wenn Android auch läuft, also wenn das Gerät hochgefahren ist.
Fastboot gibt es schon wenn nur der Bootloader geht, also auch wenn boot/recovery/system kaputt sind.
Viele verstehen diesen Unterschied nicht.
 
  • Danke
Reaktionen: nb44 und oetzi69

Ähnliche Themen

Danie=mc^2
  • Danie=mc^2
Antworten
2
Aufrufe
768
BOotnoOB
BOotnoOB
harvey186
  • harvey186
Antworten
1
Aufrufe
996
harvey186
harvey186
H
  • Hyundaicarlo
Antworten
1
Aufrufe
991
yessir99
Y
Zurück
Oben Unten