Trên Nexus SI được mã hóa của tôi, hãy sử dụng giá trị tmpfs tạm thời trên / sdcard trong CWM. Nó có đủ RAM để giữ ROM mới trong bộ nhớ trong quá trình cập nhật:
Tải ROM của bạn về /tmp/update.zip và khởi động vào recovery. Sau đó đăng nhập qua 'adb shell':
## on the host machine do:
me@workstation:/tmp$ adb shell
## now on the device in 'adb shell' mode...
~ # mount -t tmpfs none /sdcard/
## the following command is not needed, it only shows the newly created mount point
~ # df -h
Filesystem Size Used Available Use% Mounted on
[...]
none 172.4M 0 172.4M 0% /sdcard
~ # exit
## now back on the host machine again
me@workstation:/tmp$ adb push update.zip /sdcard/
5567 KB/s (131676307 bytes in 23.097s)
Sau đó thực hiện các bước cập nhật thông thường 'cài đặt zip từ sdcard'.
EDIT: Bắt đầu với ICS / Jelly Bean có adb sideload <filename-of-update.zip>
phương pháp mới
Nó hoạt động với CWM từ phiên bản 6.0.1.5 trở đi và bạn cần có công cụ nền tảng SDK Android v16 trở lên. Nếu bạn đang ở CWM, bạn có thể thấy một zip cài đặt mục nhập mới từ sideload nếu được hỗ trợ.
Phương thức cũ vẫn hoạt động:
Nếu sideload không hoạt động, bạn vẫn có thể sử dụng phương thức tmpfs. CWM mong đợi / data / media là vị trí cho update.zip ngay bây giờ, mountpoint tuy nhiên phải là / data nên bạn phải làm điều này ngay bây giờ:
me@workstation$ adb shell
~ # mount -t tmpfs none /data
~ # mkdir /data/media
## Go on with 'adb push update.zip /data/media' and then like above
Lý do:
Bắt đầu với ICS + bố cục phân vùng được đề xuất đã thay đổi. Không nên có phân vùng sdcard được định dạng FAT nữa nhưng bộ nhớ ngoài hiện nằm trong / data / (/ data / media). Để vẫn tương thích, giá treo FUSE mô phỏng các thuộc tính cũ của FAT (quyền truy cập và các thứ khác). Bạn có thể thấy điều này khi có cầu chì gắn trên / Storage / sdcard0, nó trông tương tự như thế này:
shell @ android: / $ gắn kết | grep fuse
[...]
/ dev / fuse / Storage / sdcard0 fuse rw, nosuid, gậtev, relatime, user_id = 1023, group_id = 1023, ... 0 0
[...]