Kann ich das USB-Debugging mit adb aktivieren?

16

Ich besitze ein Samsung Galaxy S3 und das Display ist kaputt und das USB-Debugging ist ebenfalls ausgeschaltet.

Wie kann ich es mit ./adbBefehlen aktivieren ? Ich habe diese Schritte bereits ausgeführt:

  • data/data/com.android.providers.settings/databases/settings.dbadb_enabledWert von 0 auf 1 geändert .
  • Auch bearbeitet build.propin /system.

Nach all dem scheint das Telefon zugemauert zu sein und lässt sich nicht einschalten. Ich möchte lediglich das USB-Debugging aktivieren und es mit Vysor (Beta) verbinden, damit ich es auf meinem Computer steuern kann.

TheOnlyAnil
quelle
1
Herzlich willkommen! Gute Frage. +1. Warum möchten Sie das Telefon trotzdem fernsteuern?
Unvergesslich
Danke ... Weil der Bildschirm kaputt ist und ich die Daten darin durchsuchen möchte. Obwohl ich es letzte Nacht herausgefunden habe ... :)
TheOnlyAnil
Die richtige Möglichkeit, das USB-Debugging zu aktivieren, besteht darin, die Datei boot.img zu entpacken, die Datei init.rc zu bearbeiten (die Datei adb zu aktivieren und anschließend die RSA-Überprüfung zu deaktivieren), die Datei boot.img neu zu packen und die Datei boot.img zu booten, ohne zu flashen. Nachdem bestätigt wurde, dass die Bearbeitung funktioniert, können Sie die Datei boot.img auf dem Gerät flashen.
HasH_BrowN

Antworten:

12

Ich habe es geschafft :)

HINWEIS : Dies erfordert einen nicht gesperrten Bootloader.

  • Schließen Sie das Gerät an einen Mac oder PC an recovery mode. (Ich musste den Prozess in meinem Kopf abbilden, da der Bildschirm kaputt war).
  • Öffnen Sie nun das Terminal / CMD im Computer und gehen Sie zu platform-tools/. Geben Sie ein und drücken Sie ./adb devicesdie Eingabetaste , um zu überprüfen, ob das Gerät im Wiederherstellungsmodus verbunden ist.
  • Geben Sie nun ./adb shell mount dataund ein ./adb shell mount system, um die entsprechenden Verzeichnisse einzuhängen.
  • Holen Sie sich die persist.sys.usb.configDatei in Ihrem System mit./adb pull /data/property/persist.sys.usb.config /Your directory
  • Öffnen Sie nun diese Datei in einem Texteditor und bearbeiten mtp,adbund speichern Sie sie.
  • Schieben Sie nun die Datei zurück in das Gerät. ./adb push /your-directory/persist.sys.usb.config /data/property
  • Rufen Sie die Datei build.prop ab. ./adb pull /system/build.prop /your-directory
  • Fügen Sie diese Zeilen hinzu:

    persist.service.adb.enable = 1                                                    
    persist.service.debuggable = 1
    persist.sys.usb.config = mtp, adb
  • Schieben Sie build.prop zurück in das Gerät. ./adb push /your-dir/build.prop /system/

Auf diese Weise haben Sie das USB-Debugging auf Ihrem Gerät aktiviert. Aber Sie können immer noch keine Verbindung herstellen. Warum? Weil es nach einer RSA-Überprüfung fragt. Wenn Sie Ihr Display anzeigen könnten, könnten Sie einfach auf tippen YES, um das Gerät zu autorisieren. Ich bin gerade dabei, dies zu umgehen. Ich möchte mein totes Telefon schlecht wiederbeleben. Wenn Sie eine Möglichkeit dazu kennen, teilen Sie uns dies bitte mit :)

TheOnlyAnil
quelle
Führen Sie eine benutzerdefinierte Wiederherstellung durch?
Firelord
Es ist eine Erholung der Bestände.
TheOnlyAnil
1
Informationen zum RSA-Bestätigungsteil durch den Benutzer: Wenn Sie ein Android-Betriebssystem gestartet haben und in irgendeiner Weise bestätigt werden, dass auf dem Bildschirm ein Dialogfeld zur Bestätigung angezeigt wird, können Sie adb shell input keyeventmit YES (Ja) auswählen. Siehe Keyevent hier . Es ist ein Schuss im Dunkeln, aber es kann sich durchaus lohnen, ihn zu feuern.
Firelord
@Firelord Ich habe versucht, das zu tun. Aber es hieß Berechtigungsfehler. Sieht so aus, als
müsste
1
Ahh! Sorry, dass du etwas vorgeschlagen hast, das nicht funktionieren würde. Was habe ich gedacht? Wenn der ADB-Zugriff nicht autorisiert ist, adb shell inputfunktioniert dies nicht. Entschuldigung nochmal! Ich werde sehen, ob es eine Möglichkeit gibt, die Autorisierung irgendwie zu umgehen.
Firelord
4

Für die RSA-Überprüfung, die Sie um Umgehung gebeten haben, weiß ich nicht, ob sie auf Ihrem Gerät funktionieren würde, aber in meinem kleinen Experiment hat sie funktioniert. In Lollipop werden die ADB-Schlüssel (nach Autorisierung) in gespeichert /data/misc/adb/adb_keys. Ihr privater Schlüssel wird im Computer gespeichert. Unter Linux lautet der Verzeichnisspeicherort $HOME/.android/. Unter Windows wird dies normalerweise in übersetzt %USERPROFILE%\.android, aber C:\Windows\System32\config\systemprofile\.androidin einigen Fällen können Schlüssel auftreten . ( Quelle )

Es gibt eine hier von ashoke beschriebene Methode , die bei der Umgehung der Autorisierung hilfreich sein kann.

Bei meinem Lollipop ist die Methode jedoch unterschiedlich. Ich bemerkte, dass in meinem primären und sekundären Lollipop-ROM adb_keysderselbe Schlüssel vorhanden war. Ich habe lediglich die Autorisierung vom sekundären ROM widerrufen (Datei wird automatisch gelöscht), das Gerät vom PC getrennt, adb_keysvom primären ROM in das sekundäre ROM kopiert , das Gerät an den PC angeschlossen und voila! Ich wurde nicht um diese Erlaubnis gebeten. Ich habe die Autorisierung mit doppelt überprüft adb devicesund alles war gut.

Versuchen Sie zuerst die verknüpfte Antwort. Autorisieren Sie ein anderes Android-Telefon, kopieren Sie dessen Schlüssel aus dem Wiederherstellungsmodus auf Ihr Gerät und prüfen Sie, ob es funktioniert.

Feuerlord
quelle
Hey danke. Ich habe adb_keys von Note 2 auf S3 übertragen und es hat funktioniert :)
TheOnlyAnil
Dies ist die erforderliche Information, um die akzeptierte Antwort korrekt zu machen. Gut gemacht. +1
HasH_BrowN
2
Funktioniert adb push ~/.android/adbkey.pub /data/misc/adb/adb_keyszuverlässig , wenn Sie ein Unix-basiertes Betriebssystem verwenden .
Chris Olin
@ ChrisOlin: Vielen Dank für Ihre Eingabe. Aber ich nehme an, dass adb im Root-Modus laufen sollte (adb root), sonst kann der Benutzer eine Datei nicht direkt unter / data / misc / ablegen. Richtig?
Firelord
Nicht genau, aber Sie werfen eine gute Frage auf. Wenn Sie versuchen, das USB-Debugging über ADB zu aktivieren, müssen Sie die Wiederherstellung starten, um dies zu erreichen. Wiederherstellungsshells (am wenigsten mit TWRP) sind standardmäßig root. Wenn dies nicht der Fall ist, kann der Benutzer nicht direkt auf / data / misc pushen.
Chris Olin