Réparation de la batterie: Wakelocks des services Google Play

Les services Google Play drainent les batteries avec des wakelocks sur les ROM 5.x personnalisées. Voici les correctifs de Cyanogen et de la communauté des développeurs dans un résumé agréable et soigné.

Les wakelocks sont le fléau des soucieux de la batterie, et ce bug de wakelock sévit dans les ROM Android depuis un certain temps. Oui, le problème n'est ni nouveau ni unique, et il ne sera pas résolu définitivement tant que Google n'interviendra pas, mais le les lancements récents de CyanogenMod 12 et CyanogenOS (entre autres) ont suscité un nouveau regain d'intérêt pour le Bogue SystemUpdateService Wakelock des services Google Play 7.x. La bonne nouvelle est que CM12 a vu un correctif intégré hier et que CyanogenOS devrait être corrigé d'ici la semaine prochaine. Le mauvais? Tous les autres fabricants de ROM doivent toujours prendre en compte le problème le plus récent, et la cause première est toujours aussi boguée. Ce n'est pas la dernière fois que nous aurons cette conversation, mais pour l'instant discutons du problème, signalons les correctifs et les rapports de progression, et remettons la batterie en état de marche.

Il est facile de constater que la puissance d'un téléphone diminue plus rapidement qu'elle ne le devrait, mais quels téléphones/ROM sont concernés et quelle en est la cause profonde? Commençons par cette dernière question. Les services Google Play contiennent un vérificateur de mise à jour OTA, appelé SystemUpdateService, dont le travail consiste à rechercher et à répondre aux demandes en direct. Sur les ROM personnalisées, les mises à jour proviennent du fabricant de la ROM, et non de Google ou de l'opérateur, ce service ne fait donc que gêner. Par exemple, réagir continuellement aux mises à jour qui ne peuvent pas être installées est un moyen rapide d'optimiser votre forfait de données - un autre problème courant. De même, les vérifications de mise à jour réveillent le téléphone et vident la batterie. La solution simple aux deux consiste simplement à demander aux fabricants de ROM de désactiver le service et de l'arrêter, ce qui est précisément ce que la plupart ont fait jusqu’à Android 5.x inclus. Malheureusement, Lollipop met des bâtons dans les roues les travaux.

À partir d'Android 5.0 et de Gooogle Play Services 7.x, le mécanisme de mise à jour inclut un vérificateur de wakelock. Essentiellement, le téléphone est maintenant réveillé pour effectuer une vérification, ne parvient pas à contacter le SystemUpdateService (désactivé) et continue d'attendre indéfiniment une réponse qui n'arrivera jamais. C'est évidemment un problème, et cela conduit à des captures d'écran de compteurs de batterie en chute libre et à des lignes « éveillées » solides inondant tous les forums à portée de voix. Pour en revenir à la question initiale, la nature mondiale de ce bug signifie que sa portée est tout aussi répandue. N'importe lequel appareil en cours d'exécution n'importe lequel La ROM qui n'a pas limité SystemUpdateService ou qui est sur Lollipop sans correctif spécifique à Lollipop verra ces wakelocks. Mais n’ayez crainte, les solutions sont déjà en train de se mettre en place pour faire face à cette dernière série de problèmes.

Il existe plusieurs façons de résoudre ce problème ennuyeux, des versions flashables personnalisées des services Play aux correctifs ROM officiels plus résilients pour CyanogenMod et OS. La solution Cyanogen réactive élégamment SystemUpdateService, mais restreint ses récepteurs. Le résultat net est que lorsque le service recherche des mises à jour, il échoue et se termine immédiatement. Évidemment, cela est encore imparfait, mais c’est une astuce intelligente qui, espérons-le, apparaîtra bientôt dans d’autres ROM Lollipop. Pour vos besoins en batterie, voici un aperçu complet de vos options de correctifs, du plus au moins efficace.

  • Patch Google - C'est un problème connu. Une solution de Google est le seul moyen de garantir que cet article ne nécessite jamais de suivi. Il n'y a pas de mot sur le mouvement.
  • CyanogèneMod 11 - Résolu le mois dernier. Mettez à jour votre ROM.
  • CyanogèneMod 12.0 - Plié dans le dépôt stable hier. Mettez à jour votre ROM.
  • CyanogenMod 12.0 tous les soirs - Plié dans le repo hier. Mettez à jour votre nuit.
  • CyanogèneOS - Un correctif arrive la semaine prochaine? Lisez la suite pour une solution de contournement temporaire et revenez auprès de Cyanogen pour plus de détails.
  • Astuce Whack-a-mole - Si vous êtes arrivé jusqu'ici dans ce post, mes sympathies vont à vous et à votre batterie. Développeur reconnu Calkuline a heureusement intensifié avec un correctif partiel dans le forum OnePlus One, mais il comporte quelques mises en garde. Au lieu de la solution préférable à l’échelle du système, ce fichier flashable est une version modifiée des services Play avec le code incriminé supprimé. De par sa nature même, ce fichier sera écrasé par Google lors de la prochaine mise à jour du service Play, tuant à nouveau votre appareil en silence. Calkulin s'est gracieusement engagé à mettre à jour son message à chaque fois que cela se produit, mais c'est une tâche ardue qui nécessite la vigilance de chacun. L'aspect le plus troublant est que ce fichier est spécifique au modèle et au système d'exploitation. La version actuelle, Google Play Services v7.3.27-438, est la version 7.3.27, pour Android Lollipop (4), l'architecture armeabi-v7a (3) et les écrans 480 DPI (8). Si c'est vous, super! Sinon, flashez à vos propres risques, car les applications qui dépendent des services (la plupart d'entre elles) pourraient contenir des problèmes. Pour vérifier l'identifiant à trois chiffres utilisé par votre appareil, recherchez « Services Google Play » dans les « Applications » d'Android. section des paramètres, et recherchez les trois derniers chiffres du numéro de version (par exemple: version 7.0.99 (1809214-430) ). Bonne chance!

Les problèmes de batterie sont ennuyeux et coûteux, mais au moins c’est une chanson et une danse que nous connaissons bien. La patience est ici la vertu opératoire. Patience et développeur ROM réactif. Un Google réactif ne ferait pas de mal non plus, mais c'est peut-être trop demander.