Come montare / sistema riscrivibile o di sola lettura? (RW / RO)


Risposte:


63

Esistono alcuni metodi per montare la /systemdirectory RW o RO. Tuttavia, richiederà root.

Metodo 1:

  1. Collega il telefono al computer. (Assicurati che il debug USB sia abilitato sul tuo telefono)

  2. Apri CMD/ Terminalsul tuo PC.

    • Windows: CTRL+ R, quindi digitare cmd.

    • Ubuntu: CTRL+ ALT+ T.

    • Mac: navigare /Applications/Utilities/e fare doppio clic su Terminale .

  3. Digita questo:

    1. adb shell
    2. su

    3. Scegli uno: (per il montaggio di sicurezza /systemsu RO al termine)

      • Sistema di montaggio RW: mount -o rw,remount /system
      • Sistema di montaggio RO: mount -o ro,remount /system

Metodo 2:

  1. Apri terminalsul tuo telefono Android (scarica qui ):
  2. Digita questo in terminal:

    1. su

    2. Scegli uno: (per il montaggio di sicurezza /systemsu RO al termine)

      • Sistema di montaggio RW: mount -o rw,remount /system
      • Sistema di montaggio RO: mount -o ro,remount /system

Metodo 3:

Se non vuoi digitare il comando ogni volta nel terminale, ho scritto un'app progettata per fare questo per te:


Android 2.3

Per le persone che eseguono Android 2.3 e il comando non riesce, guarda questa risposta: https://android.stackexchange.com/a/125437/95577


4
Sembra che questo (metodo 1) non funzioni più su Android più recenti. Sto provando a farlo sull'emulatore Android con Android 6, ma ricevo sempre un errore "mount: file system di sola lettura". Ho eseguito adb root, ma non fa differenza. Qualche idea su cosa si potrebbe fare?
diidu,

1
Ho capito. Devo usare l'opzione della riga di comando -writable-system all'avvio dell'emulatore. Quindi il primo rimontaggio dell'adb sembra riuscire. Sembra ... non l'ho ancora visto cambiare in rw.
diidu,

emulator -writable è ancora la risposta corretta.
Edgar Aroutiounian,

"Per le persone che utilizzano Android 2.3": il fraseggio non comunica molto bene. Immagino che intendi> = 2.3 o <= 2.3 (o, meno probabilmente, esattamente 2.3 se c'è un bug particolare solo nella 2.3) ma non sappiamo quale o perché.
Don Hatch,

2

-writable-system per l'emulatore

Quando si avvia l'emulatore dopo una build con, è necessario utilizzare:

. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system

Quindi, per le esecuzioni future, è necessario mantenere l' -writable-systemopzione, altrimenti le modifiche alle immagini non saranno visibili:

emulator -show-kernel -verbose -writable-system

-verboseci mostra che l'emulatore passa dal valore predefinito -drive:

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img,read-only

per:

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576

Pertanto:

  • rimuove ,read-only

  • utilizza system-qemu.img.qcow2invece di system-qemu.img.

    Ciò implica che le modifiche saranno visibili solo in seguito se si passano -writable-sytemgli stivali futuri dopo la modifica!

    Possiamo vedere che l'immagine qcow2 è solo un piccolo overlay sopra l'immagine di base poiché:

    qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
    

    contiene:

    backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
    

L'emulatore -helpconferma anche questo:

emulator -help

contiene:

-writable-system     make system & vendor image writable after 'adb remount'

adb remount + adb root

Penso che questa sia solo una scorciatoia per mountcome menzionato su https://android.stackexchange.com/a/110928/126934 , ma è molto conveniente:

adb root
adb remount
adb shell

adb help contiene:

 root                     restart adbd with root permissions
 remount
     remount /system, /vendor, and /oem partitions read-write

Ripristina l'immagine di sistema originale

Come per i dati utente: rimuovere l' .qcow2overlay e rigenerarlo manualmente: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- running-it-on-the

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.