Como montar o /system
diretório regravável ou somente leitura no meu telefone Android?
Como montar o /system
diretório regravável ou somente leitura no meu telefone Android?
Respostas:
Existem alguns métodos para montar seu /system
diretório RW ou RO. No entanto, exigirá raiz.
Conecte seu telefone ao computador. (Verifique se a depuração USB está ativada no seu telefone)
Abra CMD
/ Terminal
no seu PC.
Windows: CTRL+ Re digite cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: navegue até /Applications/Utilities/
e clique duas vezes em Terminal .
Digite isto:
adb shell
su
Escolha uma: (para montagem de segurança de /system
volta à RO quando terminar)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
no seu telefone Android (faça o download aqui ):Digite isso no terminal
:
su
Escolha uma: (para montagem de segurança de /system
volta à RO quando terminar)
mount -o rw,remount /system
mount -o ro,remount /system
Se você não deseja digitar o comando todas as vezes no terminal, escrevi um aplicativo desenvolvido para fazer isso por você:
Para pessoas executando o Android 2.3 e o comando falhar, veja esta resposta: https://android.stackexchange.com/a/125437/95577
-writable-system
para o emulador
Ao iniciar o emulador após uma compilação com, você deve usar:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
Então, para execuções futuras, você deve manter a -writable-system
opção, caso contrário as alterações de imagem não serão visíveis:
emulator -show-kernel -verbose -writable-system
-verbose
mostra-nos que o emulador alterna do padrão -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
para:
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
Portanto:
remove ,read-only
usa em system-qemu.img.qcow2
vez de system-qemu.img
.
Isso implica que as alterações só serão visíveis depois se você passar -writable-sytem
botas futuras após a alteração!
Podemos ver que a imagem qcow2 é apenas uma pequena sobreposição na parte superior da imagem base, pois:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
contém:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
O emulador -help
também confirma isso:
emulator -help
contém:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
Acho que este é apenas um atalho para mount
o mencionado em https://android.stackexchange.com/a/110928/126934 , mas é muito conveniente:
adb root
adb remount
adb shell
adb help
contém:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
Restaurar a imagem original do sistema
O mesmo que para dados do usuário: remova a .qcow2
sobreposição e gere-a manualmente: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- correndo-sobre-o