Correzione della batteria: Wakelock di Google Play Services

Google Play Services scarica le batterie con i wakelock sulle ROM 5.x personalizzate. Ecco le correzioni di Cyanogen e della comunità di sviluppatori in una carrellata piacevole e ordinata.

I wakelock sono la rovina di chi è attento alla batteria e questo bug del wakelock affligge le ROM Android da un po'. Sì, il problema non è né nuovo né unico e non sarà risolto definitivamente finché Google non si farà avanti, ma i recenti lanci di CyanogenMod 12 e CyanogenOS (tra gli altri) hanno suscitato un nuovo ciclo di interesse per Bug di Wakelock di Google Play Services 7.x SystemUpdateService. La buona notizia è che CM12 è stato risolto ieri e CyanogenOS dovrebbe essere aggiornato entro la prossima settimana. Il cattivo? Tutti gli altri produttori di ROM devono ancora tenere conto del problema più recente e la causa principale è più difettosa che mai. Questa non è l'ultima volta che avremo questa conversazione, ma per ora discutiamo del problema, indichiamo le patch e i rapporti sui progressi e riportiamo la carica della batteria in condizioni ottimali.

È facile notare che la potenza di un telefono si riduce più velocemente del dovuto, ma quali telefoni/ROM sono interessati e qual è la causa principale? Partiamo da quest'ultima domanda. Google Play Services contiene un controllo degli aggiornamenti OTA, chiamato SystemUpdateService, il cui compito è cercare e rispondere alle richieste via etere. Sulle ROM personalizzate, gli aggiornamenti arrivano tramite il produttore della ROM, non Google o l'operatore telefonico, quindi questo servizio non fa altro che intralciarsi. Ad esempio, reagire continuamente agli aggiornamenti che non possono essere installati è un modo rapido per massimizzare il tuo piano dati, un altro problema comune. Allo stesso modo, i controlli degli aggiornamenti riattivano il telefono e scaricano la batteria. La soluzione semplice per entrambi è semplicemente chiedere ai produttori di ROM di disabilitare il servizio e di smetterla, il che è esattamente ciò che la maggior parte ha fatto fino ad Android 5.x incluso. Sfortunatamente, Lollipop mette i bastoni tra le ruote i lavori.

A partire da Android 5.0 e Gooogle Play Services 7.x, il meccanismo di aggiornamento include un controllo wakelock. In sostanza il telefono ora viene svegliato per effettuare un controllo, non riesce a contattare il SystemUpdateService (disabilitato) e continua ad attendere all'infinito una risposta che non arriverà mai. Questo è ovviamente un problema e porta a screenshot di misuratori della batteria in calo e solide linee "Awake" che inondano ogni forum a portata d'orecchio. Tornando alla domanda iniziale, la natura globale di questo bug significa che la sua portata è altrettanto diffusa. Qualunque dispositivo in funzione Qualunque La ROM che non ha limitato SystemUpdateService o che si trova su Lollipop senza una patch specifica per Lollipop vedrà questi wakelock. Ma non temete, le soluzioni per quest’ultima ondata di problemi stanno già trovandosi.

Esistono diversi modi per risolvere questo fastidioso problema, dalle versioni flashable personalizzate di Play Services alle patch ROM ufficiali più resilienti per CyanogenMod e OS. La soluzione Cyanogen riattiva elegantemente SystemUpdateService, ma limita i suoi ricevitori. Il risultato netto è che quando il servizio verifica la presenza di aggiornamenti, fallisce immediatamente e termina. Ovviamente questo è ancora imperfetto, ma è un trucco intelligente che si spera apparirà presto in altre ROM Lollipop. Per le tue esigenze di batteria, ecco un elenco completo delle opzioni di patch dalla più efficace alla meno efficace.

  • Patch di Google - Questo è un problema noto. Una soluzione di Google è l'unico modo per garantire che questo articolo non richieda mai un follow-up. Non c'è parola sul movimento.
  • CianogenoMod 11 - Risolto il mese scorso. Aggiorna la tua ROM.
  • CyanogenMod 12.0 - Ieri è stato ripiegato nel pronti contro termine stabile. Aggiorna la tua ROM.
  • CyanogenMod 12.0 notturno - Piegato nel repository ieri. Aggiorna la tua notte.
  • CyanogenOS - La correzione arriverà la prossima settimana? Continua a leggere per una soluzione temporanea e ricontrolla con Cyanogen per maggiori dettagli.
  • Trucchetto Colpisci la talpa - Se sei arrivato fino a questo punto del post, le mie simpatie vanno a te e alla tua batteria. Sviluppatore riconosciuto Calcolina per fortuna si è fatto avanti con a correzione parziale nel forum OnePlus One, ma viene fornito con alcuni avvertimenti. Invece della soluzione preferibile a livello di sistema, questo file flashabile è una versione modificata di Play Services con il codice offensivo rimosso. Per sua stessa natura, questo file verrà sovrascritto da Google quando verrà inviato il successivo aggiornamento del Play Service, uccidendo silenziosamente il tuo dispositivo ancora una volta. Calkulin si è gentilmente impegnato ad aggiornare il suo post ogni volta che ciò accade, ma è un compito arduo e richiede vigilanza da parte di tutti. L'aspetto più preoccupante è che questo file è specifico del modello e del sistema operativo. La versione attuale, Google Play Services v7.3.27-438, è la versione 7.3.27, per Android Lollipop (4), architettura armeabi-v7a (3) e display a 480 DPI (8). Se sei tu, fantastico! In caso contrario, esegui flash a tuo rischio e pericolo perché le app che fanno affidamento sui servizi (che sono la maggior parte di essi) potrebbero contenere intoppi. Per verificare l'identificatore a tre cifre utilizzato dal tuo dispositivo, trova "Servizi Google Play" nelle "App" di Android sezione delle impostazioni e cercare le ultime tre cifre nel numero di versione (es: versione 7.0.99 (1809214-430) ). Buona fortuna!

I problemi della batteria sono fastidiosi e costosi, ma almeno questo è un canto e una danza con cui abbiamo familiarità. La pazienza è la virtù operativa qui. Pazienza e uno sviluppatore ROM reattivo. Anche un Google reattivo non farebbe male, ma potrebbe chiedere troppo.