Google förklarar OTA-uppdatering, varnar för att rensa Google Service Framework

10:11 - 2013-11-22
| Björn E

Sitter du och väntar otåligt på att få Kitkat till din Nexus 4 eller 7 och funderar på att rensa data för Google Service Framework? Då är det nog bra att vänta och läsa varför Google tycker det är en dålig ide.

I en Reddit-tråd pratade Google-utvecklaren Dan Morril om OTA-processen och varför det inte är en bra ide att börja peta på datan för Google Service Framework. Det är lätt att tro att det inte spelar så stor roll om man rensar Google Service Framework men det visar sig att det är viktigare än man tror och att en sådan liten sak som att rensa datan kan nästan jämföras med att göra en total återställning av telefonen eller surfplattan.

Doing this changes the primary ID by which Google knows your device. As far as the servers are concerned, the device was basically factory reset. There are many downstream effects of this, but a big one is that this invalidates the tokens used by any app that uses GCM (which is nearly all the Google apps, and a ton of third-party apps.)

How apps react to GCM IDs changing varies by app. With Play Store you have to log out and log back in, I think Gmail usually handles it transparently eventually but won’t get new mail notifications for a while, etc. Some apps you may have to clear data on to recover. All apps will simply stop getting GCM push-messages, until they get a new GCM ID; some do this frequently, others rarely, and some apps use the GCM ID as an ID on their own servers (as it is opaque and basically random), so other things besides push messages may not work.

Nothing bursts into flames, but it makes a ton of nuisances on the device, including some that can look pretty mysterious. Your mileage will vary depending on what apps you use.

All of this can be avoided by just doing an ’adb sideload’ if you are impatient.

Utifrån kommentarerna i tråden så är det många som säger att de inte märkte några större problem mer än att de behövde logga in/ut ur Google Play eller lägga till sitt Google konto igen på telefonen men nu vet vi åtminstone vad det egentligen innebär när man rensar datan.

I en separat tråd diskuterar även Dan Morril hur hela OTA-processen går till och varför inte alla får uppdateringen samtidigt.

Rollouts are conducted in phases. Typically they start at 1% of devices for around 24 – 48 hours; we watch the return rates and resulting device checkins and error reports (if any), and make sure nothing looks wrong before sending it to more. Then typically it goes to 25%, 50%, 100% over the course of a week or two.

What the percentages mean is that when your device checks in, it has a 1% chance (for example) of being offered the OTA. If it doesn’t (randomly) get an offer, it will never get an offer until the next batch.

IOW, once your device checks in and gets turned down, that’s it until the next batch. Mashing on the ”check for updates” button just causes your device to check in again, and get automatically turned down again. Think about how that makes your device feel! WON’T SOMEONE PLEASE THINK OF THE PHONES?!

That said, once the new batch does start, hitting that button does give you a new roll of the dice — but once. Since devices usually only check in for system updates every 24 hours (I think? Certainly on a many-hours basis) this can get you your shot sooner than it would happen on its own.

So, mash away. :) Just be patient, and mashing on it more often than once or twice a day isn’t going to gain you anything.

Edit: also, keep in mind that this isn’t first-come/first-served. You’re not racing other devices to get your slot in the current batch, or something.

Med andra ord: det finns ingen anledning att klicka på ”Check for Update”-knappen mer än en gång per dag och om du inte orkar vänta på att få uppdateringen via OTA så går det utmärkt att ladda in den via ’adb sideload’ istället.