Last Updated: April 3rd, 2012

In the last 2 days, we've seen a whole lot of Android 4.0.4 goodies. First, Google unleashed the Android 4.0.4 AOSP code, then followed up by sending out incremental OTA updates to the Nexus S, Galaxy Nexus, and XOOM Wi-Fi. Maintaining the momentum, today our favorite Android release engineer JBQ today put together full OS images for the GSM Nexus S and GSM Galaxy Nexus, which can be used to completely restore compatible devices back to stock.

Did a flash go wrong? Did you wipe /system by accident? Don't have an upgrade path to 4.0.4? Don't worry - with these full images you can forget your trouble and start with a clean slate.

Warning: These will wipe your device's user data.

Of course, before you start, you should make sure you have a compatible device. They are:

  • GSM Galaxy Nexus i9250 (yakju only) - if you're not sure whether you have yakju or not, download this app, and it'll tell you. Sorry, Verizon Nexus users (your devices are mysid, not yakju), due to carrier additions you will have to wait a while longer.
  • GSM Nexus S (soju) - according to JBQ, only the i9020T is supported, though there's still a chance i9023 might be (but may not be due to different radios, as the full image flashes those too). It's puzzling to me that even the chief build/release engineer has no compatibility information, but it looks like he's only in charge of keeping track of devices directly supported by AOSP.
    Note: i9020A is going to be supported in the future with a sojua release. Read this thread if you want to follow the saga.
    Note: Nexus S 4G users, this is definitely not for you yet. crespo4g (sojus) image is in the works, according to JBQ.

The soju image release is actually quite momentous - it's the first time a factory image has been published for any Nexus S model, and that is excellent news.


Head over to this page and download away. Make sure the checksum matches before flashing.

Here, I highlighted them in yellow:


Disclaimer: Android Police isn't responsible for any harm to your device - proceed at your own risk.

Flashing instructions:

Source: Nexus Images via JBQ

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • Kenneth Leong

    What about the yakjuxw people, quite dissapointed that that i bought a galaxy nexus to find that it is not a "true" google managed phone.

    • Hooman

      why haven't you change it to YAKJU already? I had a YAKJUZS and I converted it to the original Nexus the first day I got it.

      • isotrex

        Hmm.. How do you convert it to YAKJU? :(

        • Hooman

          if you Search XDA forum you should be able to find how to, but here is a link, read post #2: http://forum.xda-developers.com/showthread.php?t=1391881

        • Kenneth Leong

          yup i have flashed it to yakju 4.0.4 and loving it, MTP seems to be better along with faster screen rotation. So far thats what i can see has improved

  • Mark

    Erm. How do we install these? They are tgz files - not the usual _________.zip files. Do you install them via the standard recovery same way as you'd do a update.zip?

    • http://www.AndroidPolice.com Artem Russakovskii

      tgz is a tar.gz archive - it contains all the files and scripts needed inside.

      They are:

      The image file zip contains:

      For installation instructions, read the bottom of the post, that's why it's there.

      As for flashing from recovery, JBQ explains it the best on Google+: "Those aren't meant to be user from recovery, they are flashed via the bootloader with the fastboot tool. They're meant to be used if you've been flashing your own custom builds directly from source, and use the same tools. They live about 2 levels below recovery, so they can be used even in situations where you end up with a bad recovery."

  • curiouser


    (additional characters)

  • Hooman

    I got 4.0.4 on my xoom but still waiting for it to be pushed to my GNEX, for those of you that think the above method is hard, here is another method: http://forum.xda-developers.com/showthread.php?t=1569791
    hope this helps. I might try this tomorrow if I don't get the OTA till morning. :D

  • http://www.pretentiousname.com Leo Davidson

    This is such a confusing mess.

    I've got a Nexus phone. When Google put out an Android update, I should be able to download something to the phone, or click something on the phone, and get the update.

    Instead, I've spent a few hours over the last couple of days working out which version of the updates I need for my particular phone, trying to install them, finding it didn't work, trying to understand why, reading various guides about how it might be possible, and now finally just giving up and waiting for the OTA (which never seems to arrive; I'm not sure OTAs even work for my phone/network). Either that or I wipe my entire phone in order to install the update. o.O

    What a mess.

    Why is this stuff any more complicated than installing patches to update Windows? It's completely ridiculous.

    (Windows desktop, I mean. I know Windows phone is a mess for updates as well, but Apple somehow manage it. And it's NOT the carriers blocking me from getting my update as they have nothing to do with my phone.)

    It wasn't too bad with Gingerbread as it usually didn't take long after an update for the zip file to be posted here, but now that no longer seems to work, apparently because Google don't actually test anything and have b0rked the ICS recovery mode. Wonderful.

    (Not blaming Android Police for any of this, of course. You guys do a great job of clarifying things as best you can. Google need to fix these problems, though. God knows what people with non-Nexus phones feel like as it's 1000x worse for them.)

    • http://www.AndroidPolice.com Artem Russakovskii

      I totally hear you on that one, and it's what I've been kind of trying to address here since yesterday in my conversation with JBQ: https://plus.google.com/103876278794381402383/posts/DbyTiy1JnHj.

    • http://www.AndroidPolice.com Artem Russakovskii

      I do have to point out though that you're dismissing carriers in your argument, but they actually do have something to do with your phone - radio, for one (think various GSM frequencies, LTE, etc).

      If you buy the non-carrier version, things get simpler, but still nowhere near the level of simplicity we want.

      However, even with carrier-branded variants, there should still be a way to update without touching the radios. I know it's hard to achieve, but nothing is impossible. If Google put their engineers' brilliant minds to it and actually made it a priority, it would get done.

      • http://www.pretentiousname.com Leo Davidson

        Well said on Google+!

        Agreed, radios can be a problem, but with Gingerbread I could just wait for an update to be posted here, download the zip and install it via Recovery mode. It wasn't as easy as it should have been but once you knew where to go and what to do it was quick and painless.

        Now I've got to wait for an OTA, not because the OS update for my phone/radio is missing; purely because the way the updates are deployed/installed is broken.

        IMO, the radio stuff should be part of the OS development process and built-into the OS anyway, not put in at the last minute.

        That's a larger issue I have with Android: Google seem to develop new versions in secret and for ONE device (e.g. Galaxy Nexus). When that whole process is complete, only then do they seem to start thinking about other devices, e.g. working out how to port the new version to older Nexus devices (Nexus S with ICS) and allowing OEMs to see the source.

        Maybe it doesn't really work that way but that's how it seems.

        It means the OS is already ancient by the time it reaches most people, which sucks for the Android brand.

        But more than that, I cannot imagine that is a sensible way to develop an OS. To get the design right, they should be testing with a large amount of hardware, drivers and OEMs up-front, else how do they know the design decisions will actually work with everything?

        If Microsoft started making Windows for one particular PC spec, with fixed drivers, and not giving OEMs or software developers access to the process to help update and test their things, then released a new version of Windows which only ran on one machine, and only then started talking about doing the work to make Windows run on anything else... And then took months to get it to run properly on a single other device, while botching the install/update process... It'd be a disaster. Yet that is how Google are developing their phone OS.

        It's a real failure of prioritisation and process management on Google's part, I think. There's a lot of great stuff in Android but the update story is letting things down, and that's just on the Nexus devices.

        I used to be able to say, "Yeah, Apple have a better update process but it's not that different to say you have to choose a Google/Nexus device to get fast, reliable updates just like you have to choose an Apple/iPhone device on that side. Avoid the OEMs and you still have as many choices (i.e. one :)) and a good update story." That's no longer the case; Google have messed up even the Nexus story here. (First with ICS being late for the Nexus S, then the update being withdrawn, then taking months to get another update, and now most people can't actually install the update without resorting to unlocking the phone. Argh.)

        Sorry for the unstructured rant there, just had to shout for a bit. :)

  • http://aol.mail Johnny

    hey thanks for all the support that you provide.. i have a rooted htc mytouch 4g glacier that mistakenly got completely wiped out.. i can still get to both reboot screens and still accesss clock work but have nothing backed up. i also have pdf15.zip file but it must me corrupt because it will not install. i get error message please tell me what to do. I just bought the htc amaze for myself and it arrived today but the bummer is i promised the mytouch to my 10 yr old and she was thrilled but now is bummed!!!!!!

  • Chris

    Sorry in advance for the rant...

    I am so disappointed in the GNEX from Verizon. I've had nothing but problems with this phone. Now I can't even get any audio out of the speaker or bluetooth. I'm just sick of the problems with it. I was hoping the next update would fix it, but no mention of when a Verizon update will be coming. Not AP's fault. I'll be surprised if we see a #@#@ update before a month or two.

    This is my forth Android phone and none of them have worked very well. Although the Thunderbolt running CM7 was the best of all.

    I had high hopes that the GNEX would be the one and in general it's pretty good. But every day my audio problems get worse and I have to reboot multiple times to get the audio working again. Maybe I got a bad one. But I'm so frustrated I can't begin to complain enough. :-)

    We really shouldn't have to wait for updates from the lazy carriers who could care less once they have their contracts signed. Google needs to support these phones better.

    I'm a UNIX guy from back to 1989 before Linux ever existed and been with Linux from just about day one. But I'm so close to giving up on Android. I can't stand Apple, but the #@#@ iPad works a lot better than my Android tablet. And I imagine the #@#@# iPhone works better in general than ALL Android phones. Google needs to wake the #@## up and get these phones working better. Granted, the carriers screw them up with their junk software. The hardware manufacturers put too little memory in them and app developers think no other app runs but theirs. All of this combined makes the phone suck if you want to load a lot of apps when they sit there and keep themselves in memory when they shouldn't.

    If Android worked better the iPhone wouldn't be continuing to grow like it is with it's tiny screen and lack luster hardware. Android, especially ICS, is so far superior to IOS there's just no comparison. But it gets screwed up to the point it just doesn't work well by the time it gets to us. Sure, Android is growing, but I don't think it's going to last if they don't get their act together. The iPhone holds its own because it just plain works. I can't say that about any Android phone I've had. And now to get mine working again I'm probably going to have to factory reset it and start all over again wasting countless hours of time to get it setup again. I shouldn't have to do that.

    Google take control of Android and make everyone do the right thing and Android will be the best system out there. But until that happens Android is doomed to fail in a death of a 1000 cuts.

    Flame away...

  • pman

    works on i9023.

  • Musaad

    I have i9023 with GB 2.3.6.. can I flash the soju version?

  • Paul

    I have an LG-p698 smart phone and have android 2.3.4 version. what is the best update for this mobile to upgrade on IOS. is android 4 will work on this?

  • jordan

    i hve an A13-mid tablet pc...without firmware..can i install any of yrs on it???