Upgrading encrypted Android devices

If you encrypt your Android device, the standard over-the-air (OTA) upgrades don’t work, because /sdcard can’t be mounted in recovery.

Instead, Elad Alfassa suggests booting into recovery, creating a tmpfs on /sdcard and putting the new ROM in there before flashing it. On my device, running clockworkmod, that doesn’t work, because it still tries and fails to mount /sdcard. It turns out that /sdcard is a symlink to /data/media, but even eliminating that doesn’t help, clockworkmod still tries to mount the partition.

Instead, I used the new sideload facility, which lets you flash files sent from adb on your computer, instead of off the phone’s internal storage. This effectively gets around the problem of /sdcard being unmountable, and is pretty easy.

First, boot into recovery, and select “install zip”, then “install zip from sideload”. You’re given instructions to send the file with adb sideload update.zip on your computer. This requires android-tools to be installed and configured. You’ll get a progress indication as the file is uploaded to the phone. Once complete, the phone will automatically begin installing it. Simply wait for the installation to finish, and reboot the phone. Enjoy the updated ROM!