Android adb shell permission verweigert

Ich habe bei der Verwendung von adb.exe .

Ich wollte adb.exe Shell-Aufforderung selben wie bash verwenden, also habe ich beschlossen, die Standard-bash binary zu ändern (natürlich binary war cross kompiliert und alles war perfekt)

Änderung bash binary wird unten gefolgt

  1. adb remount
  2. adb push bash /system/bin/

  3. adb shell

  4. cd /system/bin
  5. chmod 777 bash
  6. mv sh sh.bak
  7. ln -s bash sh

Der erste Wechsel war erfolgreich, aber es ist ein Problem aufgetreten.

Ich schiebe neue Bash-Binär, aber ich vermisste Änderung bash's Erlaubnis 777, und trennen Sie die adb shell .

nach

 C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell - exec '/system/bin/sh' failed: Permission denied (13) - C:\Program Files (x86)\Android\android-sdk\platform-tools> 

Gibt es eine intelligente Idee, dieses Berechtigungsproblem zu beheben?

Bitte hilf mir…

  • Gibt es ein Äquivalent zu 'adb shell input keyboard text' für iOS?
  • Wie benutzt man su Befehl über Adb Shell?
  • Kann nicht mit Runtime.exec () den Shell-Befehl "echo" im Android-Java-Code ausführen
  • Wie Kopieren und Bearbeiten von Dateien in Android-Shell?
  • Wo finden Sie Informationen über Android "Service Call" Shell-Befehl?
  • Wie benutzt man android monkey
  • Emulat Force Stop aus ADB / Shell-Befehlen
  • Erste Android-SDK-Version eines Geräts aus der Befehlszeile
  • 3 Solutions collect form web for “Android adb shell permission verweigert”

    Wenn das Gerät nicht vollständig abgestürzt ist (/ System / bin / sh ist eine Abhängigkeit für viele Dinge – der Neustart kann nicht sehr weit kommen!) Und die Systempartition ist noch beschreibbar, man könnte also eine neue Kopie drücken Von bash, wo du die Berechtigungsbits wie gewünscht auf dem Host-System gesetzt hast, bevor du es drückst (du musst Cygwin oder sogar Linux verwenden, um die Berechtigungsbits lokal zu haben )

    Es klingt wie das Gerät verwurzelt ist, also können Sie in der Lage sein, eine Terminal-Emulator-App zu konfigurieren oder anzupassen, um Ihnen eine Sitzung mit dem Backup-Sh zu geben, die Sicherung sh erneut als root mit einem Eskalations-Tool auszuführen und dann das Problem zu beheben.

    Wenn du eine modifizierte Wiederherstellung mit adb hast, kannst du es wahrscheinlich von dort aus fixieren, indem du die (normale) Systempartition manuell anhast.

    Letztes Resort würde aus einem Vendor-signierten Vanille-Bild wiederherstellen.

    Hoffentlich bekommst du un-stecken, aber vielleicht hast du aus dieser Erfahrung gelernt – das Wechseln der Standard-Shell ist wohl keine gute Idee. Es wäre besser, deine benutzerdefinierte Shell unter einen anderen Namen zu laden und manuell auszuführen.

    Eine allgemeine Lösung für solche Dinge: Entfernen von System App und alle.

     adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblk4 /system cd /system/app/ rm maps.apk mount -o ro,remount -t yaffs2 /dev/block/mtdblk4 /system sync reboot 

    Wenn Sie neue Versionen von CWM installiert haben, können Sie gespeichert werden

    A) adb reboot recovery (boot dein Handy in die Wiederherstellung)

    B) in CWM die Mount / Systempartition (mit deinem Telefon) wiederherstellen.

    C) adb kill-server

    D) sudo adb start-server

    E) adb shell

    F) Setzen Sie Ihre Sache richtig ein

    Ich wurde von der Antwort hier beeinflusst https://android.stackexchange.com/questions/38085/is-it-a-hard-brick/113507#113507?newreg=6e0c0c0be98349058d3e1668532cd7dc

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.