David Madore's WebLog: Android 4.3, CyanogenMod, Google, et les updates automatiques

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]

↓Entry #2155 [older| permalink|newer] / ↓Entrée #2155 [précédente| permalien|suivante] ↓

(lundi)

Android 4.3, CyanogenMod, Google, et les updates automatiques

Ceux qui auraient comme moi un téléphone plus ou moins affilié à Google (genre, Nexus), sur lequel ils auraient installé une version non-officielle d'Android (genre, CyanogenMod) feraient bien de lire ce qui suit s'ils ne l'ont pas déjà découvert à leurs dépens (et les autres peuvent lire pour bien rigoler) :

Google ayant sorti Android 4.3, ils ont décidé de l'installer automatiquement et autoritairement sur certains téléphones (comme les Nexus, donc). Mais comme des cons, ils ne vérifient pas que la version d'Android est bien une version non modifiée : même sur quelque chose comme CyanogenMod, ils téléchargent Android 4.3, essaient de l'installer, échouent… et recommencent en boucle.

Résultat, depuis cette sortie d'Android 4.3, les téléphones en question consomment des données comme des fous (et peut-être aussi de la batterie). Dans le data usage, ça apparaît sous l'étiquette Google services.

Je l'ai découvert à mes dépens la semaine dernière à Munich, où mon téléphone a consommé ∼180Mo de données dans la demi-heure qui a suivi mon achat d'une carte prépayée O₂ permettant un volume de données de 200Mo avant bridage. Joie.

Mais le pire, c'est qu'il n'est pas du tout évident de résoudre le problème. Il y a des applis qui prétendent le faire, en demandant la permission root sur le téléphone : bof. Sinon, les solutions sont :

  • Passer à Android 4.3.
    Personnellement, je préfère attendre que CyanogenMod 10.2 soit un peu moins expérimental avant de l'installer.
  • Interdire à Google services d'utiliser des données en arrière-plan (aller dans data usage, sélectionner l'appli, et cocher la case restrict background data).
    C'est facile, ça marche, mais ce n'est pas sans inconvénient : Google Talk ne marche plus, et de façon plus anecdotique les barres de réception ne deviennent plus bleues (indiquant qu'on est connecté aux serveurs de Google).
  • Lancer les commandes suivantes dans un shell root :
    pm disable com.google.android.gsf/com.google.android.gsf.update.SystemUpdateActivity
    pm disable com.google.android.gsf/com.google.android.gsf.update.SystemUpdateService
    pm disable com.google.android.gsf/com.google.android.gsf.update.SystemUpdateService\$Receiver
    qui sont censées désactiver les classes précises qui font la mise à jour. Ça me semble être la meilleure solution, mais (1) je ne suis pas 100% sûr que ça marche (ce n'est pas si facile à tester, le problème n'étant pas complètement reproductible), et (2) des gens ont rapporté qu'une solution proche mais non identique créait un wake lock (i.e., empêche le téléphone de dormir, ce qui du coup consomme de la batterie à fond ; c'est probablement parce qu'ils désactivaient un sous-ensemble strict des trois classes ci-dessus, mais je ne suis sûr de rien).

Personnellement, je suis passé à CyanogenMod 10.1.3-RC2, et les classes mentionnées ci-dessus semblent avoir été désactivées, mais je ne sais pas vraiment si c'est un rayon cosmique qui a frappé mon téléphone ou si c'est voulu par l'upgrade (d'autant plus que des gens semblent encore se plaindre d'un problème de ce genre sous cette version d'Android). On va voir ce que ça donne.

J'en ai profité pour rassembler quelques notes éparses concernant Android.

Voir aussi ici pour une discussion du problème dont je parle.

Les utilisateurs d'iPhone peuvent rigoler très fort.

↑Entry #2155 [older| permalink|newer] / ↑Entrée #2155 [précédente| permalien|suivante] ↑

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]