adb shell su werkt maar adb root niet

Ik heb mijn ontgrendelde Galaxy S3 (SGH-T999) geroot

Nu probeer ik adb rootuit te voeren vanaf Windows Opdrachtprompt, maar ik krijg adbd cannot run as root in production buildsfout. Dus het allereerste wat ik controleerde was of mijn telefoon echt geroot was?

Dus ik probeerde het volgende:

Open opdrachtprompt

$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.**

Als ik echter adb rootdoe, krijg ik de foutmelding adbd cannot run as root in production builds.
Dus, dacht ik, ik moet misschien wat extra dingen doen dan wat ik hierboven heb gedaan. Ik heb alle oplossingen in de volgende SO-vragen geprobeerd:

Geen van bovenstaande werkte voor mij. Het enige wat ze doen is de ROOT-toegang BINNENIN van SHELL geven. Ik wil dat adb rootwerkt, zodat ik verschillende adb-commando’s kan uitvoeren ZONDER naar shell te gaan.


Antwoord 1, autoriteit 100%

Door het ontwerp werkt de opdracht adb rootalleen in ontwikkelingsbuilds (dwz engen userdebugdie ro.debuggable=1standaard). Dus om de opdracht adb rootop uw anders gerooteapparaat in te schakelen, voegt u gewoon de regel ro.debuggable=1toe aan een van de volgende bestanden:

/system/build.prop
/system/default.prop
/data/local.prop

Als u wilt dat adb shellstandaard begint als root, voeg dan ook ro.secure=0toe.

U kunt ook gemodificeerde adbdbinaire bestanden gebruiken (die niet controleert op ro.debuggable)

Van https://android.googlesource .com/platform/system/core/+/master/adb/daemon/main.cpp

#if defined(ALLOW_ADBD_ROOT)
// The properties that affect `adb root` and `adb unroot` are ro.secure and
// ro.debuggable. In this context the names don't make the expected behavior
// particularly obvious.
//
// ro.debuggable:
//   Allowed to become root, but not necessarily the default. Set to 1 on
//   eng and userdebug builds.
//
// ro.secure:
//   Drop privileges by default. Set to 1 on userdebug and user builds.

Antwoord 2, autoriteit 83%

In sommige ontwikkelaarsvriendelijke ROM’s kunt u gewoon Root Accessinschakelen in Instellingen > Ontwikkelaarsoptie > Root-toegang. Daarna komt adb rootbeschikbaar. Helaas werkt het niet voor de meeste stock-ROM’s op de markt.


Antwoord 3, autoriteit 66%

Ik kwam in dit probleem toen ik probeerde de emulator te rooten, ik kwam erachter dat het was omdat ik de Nexus 5x-emulator had uitgevoerd die Google erop had. Een andere emulator gemaakt die geen Google Play en adb rootroot het apparaat voor u. Ik hoop dat dit iemand helpt.


Antwoord 4, Autoriteit 22%

Ik gebruik voor het invoeren van SU-modus in ABD Shell

adb shell “su”


Antwoord 5, Autoriteit 22%

Ik heb een geroote Samsung Galaxy Trend Plus (GT-S7580).

Wenderen ‘ADB-root’ geeft me hetzelfde ‘ADBD kan niet rennen als root in de fout van de productie.

Voor apparaten met ontwikkelaaropties – & GT; Root-toegang, kies “ALLEEN ADB” om ADB-root-toegang te bieden aan het apparaat (zoals gesuggereerd door nganguyenduy ).

Probeer vervolgens de opdracht uit te voeren volgens de oplossing op Start een script als root via adb .
In mijn geval wilde ik gewoon de opdracht ‘NetCFG RNDIS0 DHCP’ uitvoeren en ik deed het op deze manier:

adb shell "su -c netcfg rndis0 dhcp"

Controleer of u fouten maakt tijdens het uitvoeren van deze manier.

Als het nog steeds niet werkt, controleer dan of u het apparaat correct root.
Als je nog steeds geen geluk hebt, probeer dan een aangepaste rom te installeren, zoals cyanogeen mod om te werken voor ‘adb-root’ om te werken .


Antwoord 6, Autoriteit 17%

U moet het ADBD-binair vervangen in de BOOT.IMG / SBIN / MAPPELEER voor één die geschikt is. Je zult ook een aantal standaard.prop-bewerkingen moeten maken.

Samsung lijkt dit moeilijker te maken dan andere leveranciers. Ik heb een aantal adbd binaries die je kunt proberen, maar het vereist de kennis van de-compilering en het opnieuw compileren van de boot.img met het nieuwe binair belang. Ook, als u een vergrendelde bootloader heeft … gaat dit niet gebeuren.

Ook Chainfire heeft een app die AdBD-root-toestemming in de Play Store zal verlenen: https://play.google.com/store/apps/details?id=eu.chainfire.adbd&amp ;HL=en

Ten slotte, als u probeert een Windows-script met SU-toestemmingen te schrijven, kunt u deze kopen met behulp van de volgende opdrachtstijl … u zult echter op zijn minst (aan de telefoon) Su Machtigingen de Frist Time zijn rende …

Adb Shell “SU-CL LS” & LT; -LIST WERKDIDE MET SU RECHTEN.
Adb Shell “SU-C ECHO AnyText & GT; /DATA/TEST.FILE”

Dit zijn slechts enkele voorbeelden. Als je specifiek aangeeft wat je probeert te bereiken, kan ik misschien meer specifiek advies geven

-scosler


Antwoord 7, Autoriteit 15%

adbdheeft een compilatie-vlag / optie om root-toegang in te schakelen: ALLOW_ADBD_ROOT=1.

tot Android 9: Indien adbdop uw apparaat is gecompileerd zonder die vlag, zal het altijd de privileges laten vallen bij het opstarten en dus helpt “ADB-root” helemaal niet.
Ik moest patchen de oproepen naar setuid(), setgid(), setgroups()EN DE MOGELIJKHEID DROPT UIT DE BINAIRE MEKENING OM EEN PERSNIEURT GEWOOND ADBD OP MIJN EBOBE-lezer.

Met Android 10 is dit gewijzigd; Wanneer de telefoon / tablet is ontgrendeld (ro.boot.verifiedbootstate == "orange"), is de ADB-root-modus in elk geval mogelijk.


Antwoord 8, Autoriteit 2%

Als u echt wilt hebben ADBDUNTEN ALS root, is de snelste en gemakkelijkste manier om Android-aangepaste ROM’s te installeren en de meest populaire is CyanogenModVoor het heeft de Root AccessOpties in het menu Developer Options waarin u kunt kiezen om root-toegang tot apps and ADBte geven. Ik heb CM eerder gebruikt, maar omdat het niet meer is ontwikkeld, probeerde ik op zoek naar sommige oplossingen die er zijn. Hoewel cyanogenmod nog steeds een goed alternatief is, omdat het geen botten heeft.

één alternatief die ik van een vriend heb gevonden, gebruikt adbd insecureapp die je kunt proberen vanaf hier: https://forum.xda-developers.com/showthread.php?t=1687590 . In mijn geval werkt het perfert met een Android-custom-kernel, maar niet met de Android-voorraad ROM (alleen vanille-android). Mogelijk kunt u ook andere alternatieven uitproberen als het modificeren van boot.imgvan de Android ROM.


Antwoord 9, Autoriteit 2%

In mijn geval (apparaat is geworteld)

linux$ adb shell      #  in linux shell
mobile$ su root       #=> notice the $ will become #
mobile# whoami        #=> root

Als u de “ADB-root” -module in Magisk installeerde, moet u nog steeds handmatig overschakelen naar rootvan su root, anders lijkt het erop dat u Wortel bent, Maar eigenlijk ben je niet root.


Antwoord 10, Autoriteit 2%

Ik heb een Samsung Galaxy Tab S2 Running Android 7.0.
Hier is hoe ik het vandaag heb geworteld:

  1. ROOT het apparaat met ODIN

  2. Lees Alex P.’s antwoordin deze thread over het bewerken van het systeem\build.prop-bestand.

  3. download naar uw tablet: v1.3.9 Systeemhulpmiddelen Android: alles-in-één toolbox

  4. voer de app uit; bevestig onder “Systeemhulpprogramma’s” dat uw Odin-root werkte met behulp van “Root Check”

  5. ga in dezelfde app naar “Root Manager” en gebruik de “Build.prop-editor” om de wijzigingen in system\build.prop (zoals gespecificeerd door Alex P.) door te voeren.

Definitieve bevestiging:

C:\Android\sdk\platform-tools>adb shell
gts28vewifi:/ $ whoami
shell
gts28vewifi:/ $ su
gts28vewifi:/ # su root
gts28vewifi:/ # whoami
root
  1. Upvote het antwoord van Alex P.

Meer informatie
en hier
en hier ook

Other episodes