it-swarm.com.de

Wie kann ich mein Android/System mithilfe von adb als Lese- und Schreibzugriff in ein Bash-Skript einhängen?

Zur Information 

adb remount 

gibt "remount failed: Operation not permitted" zurück

adb Shell 'su -c  mount -o rw,remount /system'

gibt unknown option -- o zurück

Mein Gerät ist gerootet.

21
Andrew

Wahrscheinliche Ursache, dass remount fehlschlägt, ist, dass Sie adb nicht als root ausführen.

Shell Script sollte wie folgt aussehen.

# Script to mount Android Device as read/write.
# List the Devices.
adb devices;

# Run adb as root (Needs root access).
adb root;

# Since you're running as root su is not required
adb Shell mount -o rw,remount /;

Wenn dies fehlschlägt, können Sie Folgendes versuchen:

# List the Devices.
adb devices;

# Run adb as root
adb root;

adb remount;
adb Shell su -c "mount -o rw,remount /";

Um herauszufinden, welche user Sie sind: 

$ adb Shell whoami
32
Saurabh Meshram

Ich konnte den mount-Befehl nicht zum Laufen bringen, ohne den dev-Block als/system zu mounten 

#cat /proc/mounts gibt zurück (nur die Systemzeile hier)
/dev/stl12 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=utf8 0 0 

so ist mein Arbeitsbefehl
mount -o rw,remount -t rfs /dev/stl12 /system 

13
LostNomad311

Ansonsten ... wenn

getenforce

kehrt zurück

Enforcing

Dann solltest du vielleicht anrufen

setenforce 0 
mount -o rw,remount /system 
setenforce 1
10
Albert

Folgendes kann hilfreich sein (untersuchen Sie zuerst die Auswirkungen von disable-verity): 

adb root
adb disable-verity
adb reboot
4
Tosha

Ich hatte das gleiche Problem und konnte das System nicht als Lesen/Schreiben einbinden. Es würde wiederkommen 

Verwendung: mount [-r] [-w] [-o-Optionen] [-t-Typ] Geräteverzeichnis

Oder 

operation unzulässig. Zugriff verweigert

Dies funktioniert jetzt auf allen gerooteten Geräten.

FÜLLEN SIE TERMINAL EMULATOR OR ADB Shell

$ su
#mount - o rw,remount -t yaffs2 /system

Yaffs2 ist der Typ der Systempartition. Ersetzen Sie es durch den Typ Ihrer Systempartition, die Sie beim Ausführen der folgenden Schritte erhalten 

#cat /proc/mounts

Überprüfen Sie dann, wo /system in dem langen Ergebnis angezeigt wird 

Auszug von mir war wie

mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0/dev/block/platform/msm_sdcc.3/by-num/p10 /system ext4 ro,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.3/by-num/p11 /cache ext4 rw,nosuid,nodev,relatime,data=ordered 0 0

Mein System ist also ext4. Und mein Befehl war

$ su
#mount  -o  rw,remount  -t  ext4  /system 

Erledigt. 

0
Misguided Zeal

Zusätzlich zu allen anderen Antworten, die Sie erhalten haben, möchte ich den unknown option -- o-Fehler erläutern: Ihr Befehl war

$ adb Shell 'su -c  mount -o rw,remount /system'

die su durch adb aufruft. Sie haben den gesamten Befehl su richtig zitiert, um ihn als one argument an adb Shell zu übergeben. Für su -c <cmd> müssen Sie jedoch auch den Befehl mit Argumenten angeben, die an die -c-Option der Shell übergeben werden sollen. (YMMV abhängig von su-Varianten.) Möglicherweise möchten Sie es also versuchen

$ adb Shell 'su -c "mount -o rw,remount /system"'

(und fügen Sie möglicherweise das tatsächliche Gerät hinzu, das in der Ausgabe von mount | grep system vor dem /system-Argument aufgeführt ist - siehe die anderen Antworten.)

0
hans_meine

Holen Sie sich "adbd insecure" von Google Play Store. Es hilft dabei, Schreibzugriff auf benutzerdefinierte ROMs zu gewähren, durch die meine Hersteller geschützt sind.

0
joey c