Come posso montare la /system
directory riscrivibile o di sola lettura sul mio telefono Android?
Come posso montare la /system
directory riscrivibile o di sola lettura sul mio telefono Android?
Risposte:
Esistono alcuni metodi per montare la /system
directory RW o RO. Tuttavia, richiederà root.
Collega il telefono al computer. (Assicurati che il debug USB sia abilitato sul tuo telefono)
Apri CMD
/ Terminal
sul tuo PC.
Windows: CTRL+ R, quindi digitare cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: navigare /Applications/Utilities/
e fare doppio clic su Terminale .
Digita questo:
adb shell
su
Scegli uno: (per il montaggio di sicurezza /system
su RO al termine)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
sul tuo telefono Android (scarica qui ):Digita questo in terminal
:
su
Scegli uno: (per il montaggio di sicurezza /system
su RO al termine)
mount -o rw,remount /system
mount -o ro,remount /system
Se non vuoi digitare il comando ogni volta nel terminale, ho scritto un'app progettata per fare questo per te:
Per le persone che eseguono Android 2.3 e il comando non riesce, guarda questa risposta: https://android.stackexchange.com/a/125437/95577
-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-system
opzione, altrimenti le modifiche alle immagini non saranno visibili:
emulator -show-kernel -verbose -writable-system
-verbose
ci 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.qcow2
invece di system-qemu.img
.
Ciò implica che le modifiche saranno visibili solo in seguito se si passano -writable-sytem
gli 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 -help
conferma 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 mount
come 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' .qcow2
overlay e rigenerarlo manualmente: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- running-it-on-the