Google Play Services dræner batterierne med wakelocks på tilpassede 5.x ROM'er. Her er rettelserne fra Cyanogen og udviklerfællesskabet i en flot, pæn sammenfatning.
Wakelocks er batteribevidsthedens bane, og denne wakelock-fejl har plaget Android ROM'er i et stykke tid. Ja, problemet er hverken nyt eller unikt, og det vil ikke blive løst for altid, før Google optrapper, men nylige lanceringer af CyanogenMod 12 og CyanogenOS (blandt andre) har foranlediget en ny runde af interesse for Google Play Services 7.x SystemUpdateService Wakelock-fejl. Den gode nyhed er, at CM12 så en rettelse foldet ind i går, og CyanogenOS skulle være rettet i næste uge. Den dårlige? Hver anden ROM-producent skal stadig tage højde for det nyeste problem, og årsagen er lige så buggy som nogensinde. Det er ikke sidste gang, vi har denne samtale, men lad os nu diskutere problemet, påpege patches og fremskridtsrapporter og bringe vores batteristrøm tilbage til kampform.
Det er nemt at se, at en telefons strøm falder hurtigere, end den burde, men hvilke telefoner/ROM'er er berørt, og hvad er årsagen? Lad os starte med det sidste spørgsmål. Google Play Services indeholder en OTA-opdateringskontrol, kaldet SystemUpdateService, hvis opgave er at lede efter og svare på over-the-air-anmodninger. På brugerdefinerede ROM'er kommer opdateringer gennem ROM-producenten, ikke Google eller udbyderen, så denne service gør ikke andet end at komme i vejen. For eksempel er konstant at reagere på opdateringer, der ikke kan installeres, en hurtig måde at maksimere din dataplan på - et andet almindeligt problem. På samme måde vækker opdateringstjek telefonen og dræner batteriet. Den nemme løsning til begge er simpelthen at få ROM-producenter til at deaktivere tjenesten og kalde det en dag, hvilket er præcis hvad de fleste har gjort til og med Android 5.x. Desværre kaster Lollipop en skruenøgle i Værkerne.
Startende med Android 5.0 og Gooogle Play Services 7.x inkluderer opdateringsmekanismen en wakelock-kontrol. I det væsentlige bliver telefonen nu vækket for at udføre en kontrol, undlader at kontakte den (deaktiverede) SystemUpdateService og fortsætter med at vente i det uendelige på et svar, der aldrig kommer. Dette er åbenlyst et problem, og det fører til skærmbilleder af styrtdykkede batterimålere og solide "Vågen"-linjer, der oversvømmer alle forum inden for hørevidde. Når vi vender tilbage til det oprindelige spørgsmål, betyder den globale karakter af denne fejl, at dens rækkevidde er tilsvarende udbredt. Nogen enheden kører nogen ROM, der enten ikke har begrænset SystemUpdateService, eller er på Lollipop uden en Lollipop-specifik patch, vil se disse wakelocks. Men frygt ej, løsningerne er allerede ved at falde på plads for denne seneste runde af problemer.
Der er flere måder at løse dette irriterende problem på, fra brugerdefinerede flashbare versioner af Play Services til de mere robuste officielle ROM-patches til CyanogenMod og OS. Cyanogen-løsningen genaktiverer elegant SystemUpdateService, men begrænser dens modtagere. Nettoresultatet er, at når tjenesten tjekker for opdateringer, fejler den straks og afsluttes. Dette er naturligvis stadig uperfekt, men er et smart trick, der forhåbentlig snart vil dukke op i andre Lollipop ROM'er. Til dine batteribehov er her den fulde oversigt over dine patchmuligheder fra mest til mindst effektive.
- Google Patch - Det er et kendt problem. En løsning fra Google er den eneste måde at sikre, at denne artikel aldrig kræver en opfølgning. Der er ingen ord om bevægelse.
- CyanogenMod 11 - Løst i sidste måned. Opdater din ROM.
- CyanogenMod 12.0 - Foldet ind i den stabile repo i går. Opdater din ROM.
- CyanogenMod 12.0 om natten - Foldet ind i repoen i går. Opdater din natlig.
- CyanogenOS - Kommer der en rettelse i næste uge? Læs videre for en midlertidig løsning, og tjek tilbage med Cyanogen for flere detaljer.
- Whack-a-mole hack - Hvis du er nået så langt i opslaget, er min sympati med dig og dit batteri. Anerkendt udvikler Calkulin har heldigvis trappet op med en delvis rettelse i OnePlus One-forummet, men det kommer med et par forbehold. I stedet for den foretrukne systemdækkende løsning er denne flashbare fil en modificeret version af Play Services med den fornærmende kode fjernet. I sagens natur vil denne fil blive overskrevet af Google, når den næste Play Service-opdatering skubbes, og din enhed dræbes igen. Calkulin har elskværdigt lovet at opdatere sit indlæg hver gang dette sker, men det er en besværlig opgave og kræver årvågenhed fra alles side. Det mere bekymrende aspekt er, at denne fil er model- og OS-specifik. Den nuværende version, Google Play Services v7.3.27-438, er version 7.3.27, til Android Lollipop (4), armeabi-v7a-arkitektur (3) og 480 DPI-skærme (8). Hvis dette er dig, fantastisk! Hvis ikke, så flash på egen risiko, fordi apps, der er afhængige af tjenesterne (hvilket er de fleste af dem) kan indeholde hickups. For at kontrollere den trecifrede identifikator, din enhed bruger, skal du finde "Google Play-tjenester" i Androids "Apps" sektion af indstillinger, og se efter de sidste tre cifre i versionsnummeret (f.eks.: version 7.0.99 (1809214-430) ). Held og lykke!
Batteriproblemer er irriterende og dyre, men det er i det mindste en sang og dans, som vi kender til. Tålmodighed er den virksomme dyd her. Tålmodighed og en lydhør ROM-udvikler. En responsiv Google ville heller ikke skade, men det kræver måske for meget.