Jak zamontować /system
katalog z możliwością wielokrotnego zapisu lub tylko do odczytu na moim telefonie z Androidem?
Jak zamontować /system
katalog z możliwością wielokrotnego zapisu lub tylko do odczytu na moim telefonie z Androidem?
Odpowiedzi:
Istnieje kilka metod montowania /system
katalogu RW lub RO. Będzie to jednak wymagać rootowania.
Podłącz telefon do komputera. (Upewnij się, że w telefonie jest włączone debugowanie USB)
Otwórz CMD
/ Terminal
na komputerze.
Windows: CTRL+ R, a następnie wpisz cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: przejdź do Terminalu/Applications/Utilities/
i kliknij go dwukrotnie .
Wpisz to:
adb shell
su
Wybierz jeden: ( /system
aby zakończyć instalację z powrotem do RO po zakończeniu)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
na swoim telefonie z Androidem (pobierz tutaj ):Wpisz to w terminal
:
su
Wybierz jeden: ( /system
aby zakończyć instalację z powrotem do RO po zakończeniu)
mount -o rw,remount /system
mount -o ro,remount /system
Jeśli nie chcesz wpisywać polecenia za każdym razem w terminalu, napisałem aplikację zaprojektowaną do tego celu:
W przypadku osób z Androidem 2.3, a polecenie nie działa, spójrz na tę odpowiedź: https://android.stackexchange.com/a/125437/95577
-writable-system
dla emulatora
Podczas uruchamiania emulatora po kompilacji, musisz użyć:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
Następnie, dla przyszłych uruchomień, musisz zachować tę -writable-system
opcję, w przeciwnym razie zmiany obrazu nie będą widoczne:
emulator -show-kernel -verbose -writable-system
-verbose
pokazuje nam, że emulator przełącza się z domyślnego -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
do:
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
Dlatego to:
usuwa ,read-only
używa system-qemu.img.qcow2
zamiast system-qemu.img
.
Oznacza to, że zmiany będą widoczne dopiero później, jeśli przekażesz -writable-sytem
przyszłe buty po dokonaniu zmiany!
Widzimy, że obraz qcow2 to tylko niewielka nakładka na obraz podstawowy, ponieważ:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
zawiera:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
Emulator -help
również to potwierdza:
emulator -help
zawiera:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
Myślę, że jest to tylko skrót do mount
wspomnianego na https://android.stackexchange.com/a/110928/126934 , ale jest to bardzo wygodne:
adb root
adb remount
adb shell
adb help
zawiera:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
Przywróć oryginalny obraz systemu
To samo, co w przypadku danych użytkownika: usuń .qcow2
nakładkę i ponownie ją wygeneruj ręcznie: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- działa na nim