Відповіді:
Існує кілька методів, як можна змонтувати ваш /system
каталог RW або RO. Однак для цього знадобиться корінь.
Підключіть телефон до комп'ютера. (Переконайтеся, що на вашому телефоні включена налагодження через USB)
Відкрийте CMD
/ Terminal
на вашому ПК.
Windows: CTRL+ R, а потім введіть cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: Перейдіть до /Applications/Utilities/
та двічі клацніть по Terminal .
Наберіть це:
adb shell
su
Виберіть один: (для безпеки, /system
повернення до RO після завершення)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
на своєму телефоні Android (завантажте тут ):Наберіть це в terminal
:
su
Виберіть один: (для безпеки, /system
повернення до RO після завершення)
mount -o rw,remount /system
mount -o ro,remount /system
Якщо ви не хочете вводити команду кожен раз у терміналі, я написав додаток, призначене для цього:
Люди, на яких працює Android 2.3, і команда не вдається, дивіться цю відповідь: https://android.stackexchange.com/a/125437/95577
-writable-system
для емулятора
При запуску емулятора після складання, ви повинні використовувати:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
Тоді для майбутніх прогонів потрібно зберегти цю -writable-system
опцію, інакше зміни зображення не будуть видні:
emulator -show-kernel -verbose -writable-system
-verbose
показує нам, що емулятор перемикається з типового -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
Тому це:
видаляє ,read-only
використовує system-qemu.img.qcow2
замість system-qemu.img
.
Це означає, що зміни стануть видимими лише після того, як ви перейдете -writable-sytem
до майбутніх черевиків після внесення змін!
Ми можемо бачити, що зображення qcow2 - це лише невелика накладка вгорі базового зображення, оскільки:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
містить:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
Емулятор -help
також підтверджує це:
emulator -help
містить:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
Я думаю, що це лише ярлик для, mount
як згадувалося на https://android.stackexchange.com/a/110928/126934 , але це дуже зручно:
adb root
adb remount
adb shell
adb help
містить:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
Відновлення вихідного зображення системи
Те саме, що і для даних користувача: видаліть .qcow2
накладку та знову генеруйте її вручну: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- працює-на-the-the