ฉันจะติดตั้ง/system
ไดเรกทอรีที่เขียนซ้ำได้หรืออ่านอย่างเดียวบนโทรศัพท์ Android ของฉันได้อย่างไร
ฉันจะติดตั้ง/system
ไดเรกทอรีที่เขียนซ้ำได้หรืออ่านอย่างเดียวบนโทรศัพท์ Android ของฉันได้อย่างไร
คำตอบ:
มีวิธีการสองสามวิธีที่คุณสามารถติดตั้ง/system
ไดเรกทอรีของคุณRW หรือ RO อย่างไรก็ตามจะต้องมีการรูท
เชื่อมต่อโทรศัพท์ของคุณกับคอมพิวเตอร์ (ตรวจสอบให้แน่ใจว่าเปิดใช้งานการแก้ไขข้อบกพร่อง USB บนโทรศัพท์ของคุณ)
เปิดCMD
/ Terminal
บนพีซีของคุณ
ของ Windows: CTRL+ แล้วพิมพ์Rcmd
CTRLอูบุนตู: ALT+ T+
Mac: นำทางไป/Applications/Utilities/
และดับเบิลคลิกที่เทอร์มิ
พิมพ์สิ่งนี้:
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
กู้คืนอิมเมจระบบดั้งเดิม
เช่นเดียวกับ userdata: ลบการ.qcow2
ซ้อนทับและสร้างใหม่ด้วยตนเอง: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- ทำงานมัน-on-the