Comment puis-je monter le /system
répertoire réinscriptible ou en lecture seule sur mon téléphone Android?
Comment puis-je monter le /system
répertoire réinscriptible ou en lecture seule sur mon téléphone Android?
Réponses:
Il existe quelques méthodes pour monter votre /system
répertoire RW ou RO. Cependant, il faudra root.
Connectez votre téléphone à l'ordinateur. (Assurez-vous que le débogage USB est activé sur votre téléphone)
Ouvrez CMD
/ Terminal
sur votre PC.
Windows: CTRL+ R, puis tapez cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: Accédez à Terminal,/Applications/Utilities/
puis double-cliquez dessus .
Tapez ceci:
adb shell
su
Choisissez l'une des options suivantes: (pour des raisons de sécurité, /system
retournez à RO lorsque vous avez terminé)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
sur votre téléphone Android (télécharger ici ):Tapez ceci dans le terminal
:
su
Choisissez l'une des options suivantes: (pour des raisons de sécurité, /system
retournez à RO lorsque vous avez terminé)
mount -o rw,remount /system
mount -o ro,remount /system
Si vous ne voulez pas taper la commande à chaque fois dans le terminal, j'ai écrit une application conçue pour le faire pour vous:
Pour les personnes utilisant Android 2.3 et la commande échouant, examinez la réponse suivante: https://android.stackexchange.com/a/125437/95577
-writable-system
pour l'émulateur
Lors du lancement de l'émulateur après une compilation avec, vous devez utiliser:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
Ensuite, pour les futures exécutions, vous devez conserver l’ -writable-system
option, sinon les modifications de l’image ne seront pas visibles:
emulator -show-kernel -verbose -writable-system
-verbose
nous montre que l'émulateur bascule de la valeur par défaut -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
à:
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
Par conséquent, il:
supprime ,read-only
utilise system-qemu.img.qcow2
au lieu de system-qemu.img
.
Cela implique que les modifications ne seront visibles que si vous transmettez -writable-sytem
les futures bottes après leur modification!
Nous pouvons voir que l'image qcow2 est juste une petite superposition au dessus de l'image de base puisque:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
contient:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
L'émulateur -help
confirme également ceci:
emulator -help
contient:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
Je pense que c'est juste un raccourci pour ce qui est mount
mentionné sur https://android.stackexchange.com/a/110928/126934 , mais c'est très pratique:
adb root
adb remount
adb shell
adb help
contient:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
Restaurer l'image système d'origine
Idem que pour les données utilisateur: supprimez la .qcow2
superposition et régénérez-la manuellement: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- courir-it-on-the