Ich habe mein entsperrtes Galaxy S3 (SGH-T999) gerootet.
Jetzt versuche ich, über die adb root
Windows- Eingabeaufforderung auszuführen. Es wird jedoch eine adbd cannot run as root in production builds
Fehlermeldung angezeigt. Als erstes habe ich überprüft, ob mein Telefon wirklich gerootet ist.
Also habe ich folgendes versucht:
Öffnen Sie die Eingabeaufforderung
$adb devices // lists my device
$adb shell //goes to shell
$su // opens a 'SuperSu' prompt on my phone and I 'Grant' permission
# // Before following the rooting instructions, I was getting 'no su command found' in the previous step. So, I believe my phone is ROOTED. **Correct me if I'm wrong.**
Wenn ich dies jedoch tue adb root
, erhalte ich eine adbd cannot run as root in production builds
Fehlermeldung. Also, dachte ich, muss ich vielleicht ein paar zusätzliche Dinge tun, die über das hinausgehen, was ich oben getan habe. Ich habe alle Lösungen in den folgenden SO-Fragen ausprobiert:
- Starten Sie ein Skript als Root über ADB
- ADB Remount-Berechtigung verweigert, aber Zugriff auf Superuser in Shell - Android
- 'Adb root' kann auf einem gerooteten Android-Telefon nicht ausgeführt werden
Keines der oben genannten hat bei mir funktioniert. Alles, was sie tun, ist dem ROOT-Zugang INNERHALB von SHELL zu gewähren. Ich möchte adb root
arbeiten, damit ich verschiedene adb-Befehle ausführen kann, ohne in die Shell zu gehen.
Antworten:
Mit dem Design -
adb root
Befehl funktioniert in der Entwicklung nur baut (dheng
unduserdebug
die haben inro.debuggable=1
der Standardeinstellung). Um denadb root
Befehl auf Ihrem ansonsten gerooteten Gerät zu aktivieren, fügen Sie diero.debuggable=1
Zeile einfach einer der folgenden Dateien hinzu:Wenn Sie standardmäßig
adb shell
beginnen möchten ,root
fügen Siero.secure=0
ebenfalls hinzu.Alternativ können Sie eine modifizierte
adbd
Binärdatei verwenden (die nicht überprüft wirdro.debuggable
).Von https://android.googlesource.com/platform/system/core/+/master/adb/daemon/main.cpp
quelle
In einigen entwicklerfreundliche ROMs können Sie nur aktivieren Root - Zugriff auf Einstellungen> Entwickler Option> Root - Zugriff . Danach
adb root
wird verfügbar. Leider funktioniert es nicht für die meisten Standard-ROMs auf dem Markt.quelle
Beim Versuch, den Emulator zu rooten, ist dieses Problem aufgetreten. Ich habe herausgefunden, dass ich den Nexus 5x-Emulator ausgeführt habe, auf dem Google Play installiert ist. Erstellt einen anderen Emulator, der kein Google Play hatte und
adb root
das Gerät für Sie rooten wird. Hoffe das hilft jemandem.quelle
Ich benutze für den su-Modus in abd Shell
adb shell "su"
quelle
adb shell "su -c whoami"
Ich habe ein verwurzeltes Samsung Galaxy Trend Plus (GT-S7580).
Das Ausführen von 'adb root' gibt mir den gleichen Fehler 'adbd kann nicht als root in Produktionsbuilds ausgeführt werden'.
Wählen Sie für Geräte mit Entwickleroptionen -> Root-Zugriff "Nur ADB", um den ADB-Root-Zugriff auf das Gerät zu ermöglichen (wie von NgaNguyenDuy vorgeschlagen ) ).
Versuchen Sie dann, den Befehl gemäß der Lösung unter Starten eines Skripts als Root über ADB auszuführen . In meinem Fall wollte ich nur den Befehl 'netcfg rndis0 dhcp' ausführen, und ich habe es folgendermaßen gemacht:
Bitte überprüfen Sie, ob Sie Fehler machen, während Sie es auf diese Weise ausführen.
Wenn es immer noch nicht funktioniert, überprüfen Sie, ob Sie das Gerät korrekt gerootet haben. Wenn Sie immer noch kein Glück haben, installieren Sie ein benutzerdefiniertes ROM wie Cyanogen Mod , damit 'adb root' funktioniert.
quelle
Sie müssen die adbd-Binärdatei im Ordner boot.img / sbin / durch eine su-fähige ersetzen. Sie müssen auch einige default.prop-Änderungen vornehmen.
Samsung scheint dies schwieriger zu machen als andere Anbieter. Ich habe einige ADBD-Binärdateien, die Sie ausprobieren können, aber es erfordert das Wissen, die boot.img mit der neuen Binärdatei zu dekompilieren und neu zu kompilieren. Auch wenn Sie einen gesperrten Bootloader haben ... wird dies nicht passieren.
Außerdem verfügt Chainfire über eine App, die im Play Store die Berechtigung adbd root erteilt: https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=de
Wenn Sie versuchen, ein Windows-Skript mit SU-Berechtigungen zu schreiben, können Sie diesen Kauf mit dem folgenden Befehlsstil durchführen. Sie müssen jedoch mindestens (am Telefon) SU-Berechtigungen für die erste Ausführung erteilen. .
ADB-Shell "su -c ls" <-Liste Arbeitsverzeichnis mit su-Rechten. ADB-Shell "su -c echo anytext> /data/test.file"
Dies sind nur einige Beispiele. Wenn Sie genau angeben, was Sie erreichen möchten, kann ich Ihnen möglicherweise spezifischere Ratschläge geben
-scosler
quelle
adbd
hat ein Kompilierungsflag / eine Kompilierungsoption, um den Root-Zugriff zu aktivieren :ALLOW_ADBD_ROOT=1
.Bis zu Android 9: Wenn
adbd
Ihr Gerät ohne dieses Flag kompiliert wird, werden beim Start immer die Berechtigungen gelöscht, und daher hilft "adb root" überhaupt nicht. Ich hatte die Anrufe flicken zusetuid()
,setgid()
,setgroups()
und die Fähigkeit , fällt aus dem binär mich einen dauerhaft verwurzelt adbd auf meinen E - Book - Reader zu bekommen.Mit Android 10 hat sich dies geändert. Wenn das Telefon / Tablet entsperrt ist (
ro.boot.verifiedbootstate == "orange"
), ist der ADB-Root-Modus in jedem Fall möglich.quelle
Wenn Sie wirklich brauchen , um
ADB
so laufenroot
, der schnellste und einfachste Weg ist Android Benutzerdefinierte ROMs zu installieren und die beliebteste istCyanogenMod
für sie die habenRoot Access
Optionen in Entwickler - Optionen Menü , in dem Sie Root - Zugriff geben wählen könnenapps and ADB
. Ich habe CM schon früher verwendet, aber da es nicht mehr entwickelt wurde, habe ich versucht, nach Lösungen zu suchen. Obwohl CyanogenMod immer noch eine gute Alternative ist, weil es keine Bloatware hat.Eine Alternative, die ich von einem Freund herausgefunden habe, ist die Verwendung einer
adbd insecure
App, die Sie hier ausprobieren können: https://forum.xda-developers.com/showthread.php?t=1687590 . In meinem Fall funktioniert es perfekt mit einem benutzerdefinierten Android-Kernel, aber nicht mit dem Android-Standard-ROM (nur Vanille-Android). Sie können auch andere Alternativen ausprobieren, z. B. das Ändernboot.img
des Android-ROM.quelle