Google Play Services verbruikt batterijen met wakelocks op aangepaste 5.x ROM's. Hier zijn de oplossingen van Cyanogen en de ontwikkelaarsgemeenschap in een mooie, nette samenvatting.
Wakelocks zijn de vloek van het batterijbewuste, en deze wakelock-bug plaagt Android-ROM's al een tijdje. Ja, het probleem is niet nieuw en ook niet uniek, en het zal pas voorgoed worden opgelost als Google in actie komt, maar de recente lanceringen van onder meer CyanogenMod 12 en CyanogenOS hebben geleid tot een nieuwe interesse in de Google Play Services 7.x SystemUpdateService Wakelock-bug. Het goede nieuws is dat CM12 gisteren een oplossing zag en dat CyanogenOS volgende week gepatcht zou moeten zijn. De slechte? Elke andere ROM-maker moet nog steeds rekening houden met het nieuwste probleem, en de oorzaak is net zo buggy als altijd. Dit is niet de laatste keer dat we dit gesprek voeren, maar laten we voor nu het probleem bespreken, wijzen op de patches en voortgangsrapporten en onze batterij weer in goede staat brengen.
Het is gemakkelijk in te zien dat de stroom van een telefoon sneller afneemt dan zou moeten, maar welke telefoons/ROM's worden getroffen en wat is de oorzaak? Laten we beginnen met de laatste vraag. Google Play Services bevat een OTA-updatechecker, SystemUpdateService genaamd, die tot taak heeft draadloze verzoeken te zoeken en erop te reageren. Op aangepaste ROM's komen updates via de ROM-maker, niet Google of de koerier, dus deze service zit alleen maar in de weg. Voortdurend reageren op updates die niet kunnen worden geïnstalleerd, is bijvoorbeeld een snelle manier om het maximale uit uw data-abonnement te halen - een ander veel voorkomend probleem. Op dezelfde manier maken updatecontroles de telefoon wakker en laten de batterij leeglopen. De gemakkelijke oplossing voor beide is om simpelweg de ROM-makers de service te laten uitschakelen en er een einde aan te maken precies wat de meesten hebben gedaan tot en met Android 5.x. Helaas gooit Lollipop er een sleutel in de werken.
Vanaf Android 5.0 en Google Play Services 7.x bevat het updatemechanisme een wakelock-checker. In wezen wordt de telefoon nu gewekt om een controle uit te voeren, kan hij geen contact opnemen met de (uitgeschakelde) SystemUpdateService en blijft hij voor onbepaalde tijd wachten op een antwoord dat nooit zal komen. Dit is duidelijk een probleem en leidt tot schermafbeeldingen van dalende batterijmeters en vaste "Wakker"-lijnen die elk forum binnen gehoorsafstand overspoelen. Terugkomend op de oorspronkelijke vraag: het mondiale karakter van deze bug betekent dat de reikwijdte ervan eveneens wijdverspreid is. Elk apparaat draait elk ROM die de SystemUpdateService niet heeft beperkt, of die op Lollipop staat zonder een Lollipop-specifieke patch, zal deze wakelocks zien. Maar wees niet bang: de oplossingen voor deze laatste ronde van problemen vallen al op hun plek.
Er zijn verschillende manieren om dit vervelende probleem op te lossen, van aangepaste flashbare versies van Play Services tot de veerkrachtigere officiële ROM-patches voor CyanogenMod en OS. De Cyanogen-oplossing schakelt SystemUpdateService op elegante wijze opnieuw in, maar beperkt de ontvangers ervan. Het nettoresultaat is dat wanneer de service op updates controleert, deze onmiddellijk mislukt en wordt beëindigd. Uiteraard is dit nog steeds niet perfect, maar het is een slimme truc die hopelijk binnenkort in andere Lollipop-ROM's zal verschijnen. Voor uw batterijbehoeften vindt u hier het volledige overzicht van uw patchopties, van meest tot minst effectief.
- Google-patch - Dit is een bekend probleem. Een oplossing van Google is de enige manier om ervoor te zorgen dat dit artikel nooit een vervolg behoeft. Er is geen woord over beweging.
- CyanogenMod 11 - Afgelopen maand opgelost. Update uw ROM.
- CyanogenMod 12.0 - Gisteren in de stabiele repository gevouwen. Update uw ROM.
- CyanogenMod 12.0 Nachtelijk - Gisteren in de repo gevouwen. Update uw nachtelijk.
- CyanogenOS - Oplossing komt volgende week? Lees verder voor een tijdelijke oplossing en neem contact op met Cyanogen voor meer informatie.
- Een mol-hack - Als je zo ver in de post bent gekomen, mijn medeleven gaat uit naar jou en je batterij. Erkende ontwikkelaar Calkulin is gelukkig opgevoerd met een gedeeltelijke oplossing in het OnePlus One-forum, maar er zijn een paar kanttekeningen bij. In plaats van de systeembrede oplossing die de voorkeur verdient, is dit flashbare bestand een aangepaste versie van Play Services, waarbij de aanstootgevende code is verwijderd. Door zijn aard wordt dit bestand door Google overschreven wanneer de volgende Play Service-update wordt gepusht, waardoor uw apparaat opnieuw stil wordt gedood. Calkulin heeft zo vriendelijk beloofd zijn bericht elke keer dat dit gebeurt bij te werken, maar het is een zware taak en vereist waakzaamheid van ieders kant. Het verontrustender aspect is dat dit bestand model- en besturingssysteemspecifiek is. De huidige versie, Google Play Services v7.3.27-438, is versie 7.3.27, voor Android Lollipop (4), armeabi-v7a-architectuur (3) en 480 DPI-displays (8). Als jij dit bent, geweldig! Als dat niet het geval is, flash dan op eigen risico, omdat apps die afhankelijk zijn van de services (wat de meeste zijn) haperingen kunnen bevatten. Als u de driecijferige identificatiecode die uw apparaat gebruikt wilt controleren, zoekt u 'Google Play-services' in de 'Apps' van Android sectie met instellingen en zoek naar de laatste drie cijfers van het versienummer (bijvoorbeeld: versie 7.0.99 (1809214-430) ). Succes!
Batterijproblemen zijn vervelend en kostbaar, maar dit is in ieder geval een liedje en dans waarmee we bekend zijn. Geduld is hier de werkzame deugd. Geduld en een responsieve ROM-ontwikkelaar. Een responsieve Google zou ook geen kwaad kunnen, maar dat is misschien te veel gevraagd.