У моєму зашифрованому Nexus SI використовуйте тимчасове кріплення tmpfs on / sdcard у CWM. У ньому достатньо оперативної пам’яті для зберігання нового ПЗУ в пам’яті під час оновлення:
Завантажте свій ROM на /tmp/update.zip та завантажте його на відновлення. Потім увійдіть через '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)
Потім виконайте звичайні кроки оновлення "встановити zip з sdcard".
EDIT: Починаючи з ICS / Jelly Bean є новий adb sideload <filename-of-update.zip>
метод
Він працює з CWM від версії 6.0.1.5 і вам потрібні платформи Android SDK v16 або новіші. Якщо ви знаходитесь у CWM, ви можете побачити новий запис для встановлення zip з бічного завантаження, якщо він підтримується.
Старий метод все ще працює:
якщо бічне завантаження не працює, ви все одно можете використовувати метод tmpfs. CWM очікує / дані / медіа як місце для update.zip зараз, але монтовою точкою повинні бути / дані, тому ви повинні зробити це зараз:
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
Причина:
Починаючи з ICS + запропонований макет розділу змінився. Більше не має бути формату SDC, відформатованого FAT, але зовнішнє сховище тепер знаходиться в / data / (/ data / media). Щоб залишатися сумісним, кріплення FUSE імітує старі властивості FAT (права доступу та інші). Це ви можете побачити, коли на / зберігання / sdcard0 є кріплення запобіжника, це схоже на це:
shell @ android: / $ mount | grep fuse
[...]
/ dev / fuse / storage / sdcard0 fuse rw, nosuid, nodev, relatime, user_id = 1023, group_id = 1023, ... 0 0
[...]