PSA: los servicios de Google Play Wakelock afectan a muchas ROM 5.x

Los Wakelocks son la ruina de la batería consciente, y este error de wakelock ha estado afectando a las ROM de Android por un tiempo. Sí, el problema no es nuevo ni único, y no se resolverá para siempre hasta que Google avance, pero los recientes lanzamientos de CyanogenMod 12 y CyanogenOS (entre otros) han provocado una nueva ronda de interés en los Servicios de Google Play 7 .x SystemUpdateService Wakelock error . La buena noticia es que CM12 vio una solución plegada ayer, y CyanogenOS debería ser reparado la próxima semana. ¿El malo? Todos los demás fabricantes de ROM aún deben tener en cuenta el problema más reciente, y la causa raíz es tan defectuosa como siempre. Esta no es la última vez que tendremos esta conversación, pero por ahora discutamos el problema, señalemos los parches y los informes de progreso, y recuperemos la energía de la batería.

Es fácil ver que la energía de un teléfono está disminuyendo más rápido de lo que debería, pero ¿qué teléfonos / ROM están afectados y cuál es la causa raíz? Comencemos con la última pregunta. Google Play Services contiene un verificador de actualizaciones OTA, llamado SystemUpdateService, cuyo trabajo es buscar y responder a solicitudes por aire. En las ROM personalizadas, las actualizaciones se realizan a través del fabricante de ROM, no de Google o del operador, por lo que este servicio no hace más que interponerse. Por ejemplo, reaccionar continuamente a las actualizaciones que no se pueden instalar es una forma rápida de maximizar su plan de datos, otro problema común. Del mismo modo, las comprobaciones de actualización activan el teléfono y agotan la batería. La solución fácil para ambos es simplemente hacer que los fabricantes de ROM deshabiliten el servicio y lo llamen por día, que es precisamente lo que la mayoría ha hecho hasta Android 5.x. Desafortunadamente, Lollipop lanza una llave inglesa en las obras.

A partir de Android 5.0 y Gooogle Play Services 7.x, el mecanismo de actualización incluye un verificador de wakelock. En esencia, el teléfono ahora se ha despertado para realizar una verificación, no se comunica con el SystemUpdateService (deshabilitado) y continúa esperando indefinidamente una respuesta que nunca llegará. Obviamente, esto es un problema, y ​​lleva a capturas de pantalla de medidores de batería cayendo en picado y líneas continuas de "Despertar" que inundan todos los foros al alcance del oído. Volviendo a la pregunta original, la naturaleza global de este error significa que su alcance está igualmente extendido. Cualquier dispositivo que ejecute cualquier ROM que no haya limitado el SystemUpdateService o esté en Lollipop sin un parche específico de Lollipop verá estos wakelocks. Pero no temas, las soluciones ya están encajando para esta última ronda de problemas.

Hay varias maneras de resolver este molesto problema, desde versiones personalizables de Play Services hasta los parches de ROM oficiales más resistentes para CyanogenMod y OS. La solución Cyanogen vuelve a habilitar elegantemente SystemUpdateService, pero restringe sus receptores. El resultado neto es que cuando el servicio busca actualizaciones, falla inmediatamente y finaliza. Obviamente, esto sigue siendo imperfecto, pero es un truco inteligente que con suerte aparecerá en otras ROM de Lollipop pronto. Para sus necesidades de batería, aquí está el resumen completo de sus opciones de parche, desde la más efectiva hasta la menos efectiva.

  • Parche de Gooogle : este es un problema conocido. Una solución de Google es la única forma de garantizar que este artículo nunca requiera un seguimiento. No hay palabra sobre movimiento.
  • CyanogenMod 11 - Resuelto el mes pasado. Actualiza tu ROM.
  • CyanogenMod 12.0 - Doblado ayer en el repositorio estable. Actualiza tu ROM.
  • CyanogenMod 12.0 Nightly - Doblado ayer en el repositorio. Actualiza tu noche.
  • CyanogenOS - ¿La solución llegará la próxima semana? Siga leyendo para obtener una solución temporal y vuelva a consultar con Cyanogen para obtener más detalles.
  • Hack de Whack-a-mole : si has llegado hasta aquí en la publicación, mis condolencias están contigo y con tu batería. El reconocido desarrollador Calkulin afortunadamente ha intensificado con una solución parcial en el foro OnePlus One, pero viene con algunas advertencias. En lugar de la solución preferible para todo el sistema, este archivo flasheable es una versión modificada de Play Services con el código ofensivo eliminado. Por su propia naturaleza, este archivo será sobrescrito por Google cuando se envíe la próxima actualización de Play Service, lo que matará su dispositivo una vez más. Calkulin se ha comprometido gentilmente a actualizar su publicación cada vez que esto sucede, pero es una tarea ardua y requiere vigilancia por parte de todos. El aspecto más preocupante es que este archivo es específico del modelo y del sistema operativo. La versión actual, Google Play Services v7.3.27-438, es la versión 7.3.27, para Android Lollipop (4), arquitectura armeabi-v7a (3) y pantallas de 480 DPI (8). Si este eres tú, genial! Si no, flashee bajo su propio riesgo porque las aplicaciones que dependen de los servicios (que es la mayoría de ellas) podrían contener fallas. Para verificar el identificador de tres dígitos que utiliza su dispositivo, busque "Servicios de Google Play" en la sección de configuración "Aplicaciones" de Android y busque los últimos tres dígitos en el número de versión (por ejemplo: versión 7.0.99 (1809214-430)) . ¡Buena suerte!

Los problemas de batería son molestos y costosos, pero al menos esta es una canción y baile con el que estamos familiarizados. La paciencia es la virtud operativa aquí. Paciencia y un desarrollador de ROM receptivo. Un Google receptivo tampoco estaría de más, pero eso puede estar pidiendo demasiado.