Jelly Bean OTA Update failing on Nexus S ("assert failed") I've got a Nexus S phone. It was never rooted or modified. It currently runs the most recent version of Ice Cream Sandwich (that was installed as an Over The Air update, without any issues).

Couple of days ago I received a notification from my phone about Jelly Bean upgrade being available. Unfortunately every time I try to install it there is a problem. The phone reboots and starts the upgrade process, but after about 30 seconds it stops and displays an image of a red triangle with an exclamation mark. When I press power+volume up to see what happened, this is the message it displays:


  Finding update package... 
  
  Opening update package... 
  
  Verifying update package...   
  
  Verifying current system...  
  
  assert failed: apply_patch_check("/system/etc/gps.conf", "[random letters and numbers - probably a hash]", "[different combination of random letters and numbers]")
  
  E:Error in /cache/9ZGgDXDi.zip
  
  (Status 7)
  
  Installation Aborted.


I tried "wipe data / factory reset" and "wipe cache partitions" options, but the issue persists.
Hurrey!

After quite a bit of research I am now able to answer my own question. I was able to clean install Jelly Bean (in opposite to the usual method of upgrading) using official images posted by Google. This obviously solved the issue.

Here are my instructions how to do this.