Làm cách nào tôi có thể gắn /system
thư mục có thể ghi lại hoặc chỉ đọc trên điện thoại Android của mình?
Làm cách nào tôi có thể gắn /system
thư mục có thể ghi lại hoặc chỉ đọc trên điện thoại Android của mình?
Câu trả lời:
Có một vài phương pháp để bạn có thể gắn /system
thư mục RW hoặc RO của mình. Tuy nhiên, nó sẽ yêu cầu root.
Kết nối điện thoại của bạn với máy tính. (Đảm bảo gỡ lỗi USB được bật trên điện thoại của bạn)
Mở CMD
/ Terminal
trên PC của bạn.
Windows: CTRL+ R, sau đó gõ cmd
.
Ubuntu: CTRL+ ALT+ T.
Mac: Điều hướng đến /Applications/Utilities/
và nhấp đúp vào Terminal .
Nhập cái này:
adb shell
su
Chọn một: (để bảo mật gắn kết /system
trở lại RO khi kết thúc)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
trên điện thoại Android của bạn (tải xuống tại đây ):Nhập cái này vào terminal
:
su
Chọn một: (để bảo mật gắn kết /system
trở lại RO khi kết thúc)
mount -o rw,remount /system
mount -o ro,remount /system
Nếu bạn không muốn gõ lệnh mỗi lần trong thiết bị đầu cuối, tôi đã viết một ứng dụng được thiết kế để thực hiện điều này cho bạn:
Đối với những người chạy Android 2.3 và lệnh không thành công, hãy xem câu trả lời này: https://android.stackexchange.com/a/125437/95577
-writable-system
cho trình giả lập
Khi khởi chạy trình giả lập sau khi xây dựng, bạn phải sử dụng:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
Sau đó, để chạy trong tương lai, bạn phải giữ -writable-system
tùy chọn, nếu không các thay đổi hình ảnh sẽ không hiển thị:
emulator -show-kernel -verbose -writable-system
-verbose
cho chúng ta thấy trình giả lập chuyển từ mặc định -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
đến:
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
Vì vậy, nó:
loại bỏ ,read-only
sử dụng system-qemu.img.qcow2
thay vì system-qemu.img
.
Điều này ngụ ý rằng những thay đổi sẽ chỉ được nhìn thấy sau đó nếu bạn đi -writable-sytem
đôi ủng trong tương lai sau khi thay đổi được thực hiện!
Chúng ta có thể thấy rằng hình ảnh qcow2 chỉ là một lớp phủ nhỏ trên đầu của hình ảnh cơ sở kể từ:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
chứa đựng:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
Trình giả lập -help
cũng xác nhận điều này:
emulator -help
chứa đựng:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
Tôi nghĩ rằng đây chỉ là một phím tắt mount
như được đề cập tại https://android.stackexchange.com/a/110928/126934 , nhưng nó rất thuận tiện:
adb root
adb remount
adb shell
adb help
chứa đựng:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
Khôi phục hình ảnh hệ thống ban đầu
Tương tự như đối với userdata: xóa .qcow2
lớp phủ và tạo lại nó theo cách thủ công: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- chạy trên nó