Warum kann ich keinen Root-Zugriff von der Shell bekommen?

14
> adb shell
sh-4.1$ su
Permission denied

Ich habe mein Telefon erfolgreich gerootet. Ich weiß das, weil ich Apps auf der SD-Karte installieren kann und ein Programm namens SD Maid habe, das mit Root-Berechtigungen arbeiten kann.

Kshitiz Sharma
quelle
Das Installieren von Apps auf SDCard erfordert nicht unbedingt root, und SDMaid funktioniert auch (teilweise) ohne, das ist also kein Beweis. Andererseits scheint Ihr Zitat aus der Shell zu beweisen, dass Sie mit Ihrem Rooting nicht erfolgreich waren. Gibt es beim Überprüfen Ihrer installierten Apps entweder SuperUser oder SuperSU? Erhalten Sie Aufforderungen wie "SDMaid angeforderte Root-Berechtigungen", die Sie bestätigen müssen?
Izzy
@Izzy bekomme ich Benachrichtigungen wie SD Maid has been granted super root permissions? Außerdem habe ich gerade play.google.com/store/apps/… installiert und frage mich nach einer Super-User-Bestätigung, die erfolgreich erteilt wird.
Kshitiz Sharma
@ Izzy Ich würde bitten, sich zu unterscheiden. Für die Installation von Apps auf der SDCard muss das Telefon gerootet werden. Könnten Sie auf ein anderes Beispiel verweisen?
Kshitiz Sharma
Sicher: Gehen Sie zu Einstellungen-> Apps-> Apps verwalten und gehen Sie diese durch. Apps, die dies unterstützen, können einfach durch Tippen auf die entsprechende Schaltfläche verschoben werden. Zweitens: Werfen Sie einen Blick auf AppMonster , direkt im ersten Screenshot, unter dem "Mond-Symbol" von "Sleepy Timer": Diese App unterstützt App2SD ohne Root. AppMonster kann es verschieben (ohne root zu benötigen) und bietet dies sogar an. App2SD wird seit Android 2.2 nativ unterstützt. Folgen Sie dem Tag FAQ: App2SD
Izzy
Für den vorherigen Kommentar: OK, so voll, dass root funktioniert hat. Bitte überprüfen Sie Ihre Apps erneut auf SuperUser / SuperSU. Starten Sie diesmal die App. In der Konfiguration sollte angezeigt werden, welche Berechtigungen gespeichert wurden. vielleicht hast du mal versehentlich "merken" angekreuzt und den "verweigern" knopf für die adb shell gedrückt. Wenn Sie einen entsprechenden Eintrag finden, entfernen Sie ihn einfach. Wenn Sie das nächste Mal erneut gefragt werden, drücken Sie unbedingt die richtige Taste :)
Izzy

Antworten:

14

Von hier :

Möglicherweise müssen Sie adb root über das Menü für Entwicklereinstellungen aktivieren. Wenn Sie adb root aus der cmd-Zeile ausführen, erhalten Sie:

Der Root-Zugriff wird durch die Systemeinstellungen deaktiviert - aktivieren Sie diese in den Einstellungen -> Entwicklungsoptionen

Der Root-Zugriff wird durch Systemeinstellungen deaktiviert. Aktivieren Sie diese Option unter Einstellungen -> Entwicklungsoptionen. Sobald Sie die Root-Option (nur ADB oder Apps und ADB) aktiviert haben, wird ADB neu gestartet und Sie können Root über die Befehlszeile verwenden.

Anthony
quelle
4
Diese Einstellung ist nicht in allen ROMs verfügbar (konnte sie zB in meinem LG Optimus 4X nicht finden , was natürlich verwurzelt ist). IMHO ist dies eine Spezialität von CyanogenMod.
Izzy
Was weißt du über Android, Alter? > root-zugriff wird durch systemeinstellung deaktiviert - in den einstellungen aktivieren -> entwicklungsoptionen Sobald Sie die root-option (nur ADB oder Apps und ADB) aktiviert haben, wird adb neu gestartet und Sie können root über die cmd-zeile verwenden.
Nizzy
2

Auf Google Play gibt es eine App namens ADBD Insecure by Chainfire . Mit dieser App können Sie adbd im Root-Modus ausführen, wenn Ihr Gerät beim Ausführen des Stock-ROMs des Geräts gerootet ist. Ich habe erst kürzlich von dieser App erfahren.

Die Version bei Google Play ist nicht kostenlos, es ist jedoch eine kostenlose Version verfügbar. Der Link zur kostenlosen Version ist in der Beschreibung der Anwendung in Google Play verlinkt.

Was ist toll an dieser App, es funktioniert mit Stock-ROMs, die verwurzelt wurden. Wenn Sie einen benutzerdefinierten Kernel oder ein benutzerdefiniertes ROM verwenden, benötigen Sie diese Anwendung wahrscheinlich nicht. Wenn Sie jedoch immer noch eine nur gerootete Standard-ROM verwenden, möchten Sie möglicherweise diese Anwendung für Ihr Gerät herunterladen.

Mit adbd Insecure können Sie adbd im Root-Modus ausführen, wenn Ihr Gerät gerootet ist. (Wenn Sie einen benutzerdefinierten Kernel ausführen, ist es wahrscheinlich, dass er diese Funktionalität bereits implementiert.)

Wenn Sie einen (vom Telefonhersteller hergestellten) Kernel auf Ihrem Gerät ausführen, ist die Wahrscheinlichkeit groß, dass adbd im "sicheren" Modus ausgeführt wird, auch wenn Sie als Root angemeldet sind. Mit dieser App können Sie adbd im "unsicheren" Modus ausführen, wodurch Sie root-Zugriff auf "adb shell" erhalten, über "adb push / pull" auf Systemdateien und -verzeichnisse zugreifen und den Befehl "adb remount" ausführen können Ihre / Systempartition beschreibbar.

Bildbeschreibung hier eingeben

Ryan Conrad
quelle
Ich habe die kostenlose ADBD Insecure-App aus dem ursprünglichen XDA-Thread auf meinem mit Magisk verwurzelten Oneplus 5 Nougat ausprobiert, aber es hat nicht geholfen und auch die MTP-Konnektivität im USB-Debugging-Modus unterbrochen, bis das Telefon neu gestartet wurde.
Vadzim
0

Heutzutage wird Magisk häufig zum Verwurzeln verwendet.

Ich habe festgestellt, dass es auf meinem Oneplus 5 (Oxygen OS, Nougat) ausreichte, die Magisk Manager-App aufzurufen, den Superuser-Berechtigungsbildschirm zu öffnen und die Shell (com.android.shell) umzuschalten, um das Problem mit der verweigerten adb su-Berechtigung zu lösen.

Vadzim
quelle
0

Aktivieren Sie den Root-Zugriff für adb über das Menü für Entwicklereinstellungen. Dann schließen Sie Ihr USB-Kabel an und geben Sie Folgendes ein:

adb root

Es sollte zurückkehren

restarting adbd as root

Starten Sie nun die Shell neu

adb shell
Kardamom
quelle
Stock Android bietet in den Dev Options keinen "root-Zugang für adb". adb rootist nur auf userdebugROMs möglich : Warum macht "adb root" nichts?
Irfan Latif