2 votes

La synchronisation des contacts et du calendrier a soudainement cessé de fonctionner

Alors qu'il fonctionne bien depuis presque un an maintenant (depuis que j'ai installé CyanogenMod sur mon appareil), il y a quelques jours, la synchronisation s'est soudainement arrêtée : Les indicateurs de réseau sont devenus blancs (plus verts sur Gingerbread / bleus sur ICS et plus), ce qui indique que l'appareil est no "en synchronisation" avec les serveurs de Google.

J'ai d'abord pensé qu'il pouvait s'agir d'une panne du serveur Google (comme nous les connaissons tous), j'ai attendu quelques jours. Mais cela ne s'est pas résolu en quelques jours, alors j'ai décidé de regarder de plus près. logcat puis a montré : Toujours en essayant de se synchroniser, la connexion réseau a expiré.

Autres effets secondaires : L'application Google Playstore ne s'ouvrait plus (" network timeout "), Google Talk insistait sur un " username/password failure ".

C'est là que j'étais coincé : Que faire ? Le redémarrage n'a rien donné, l'arrêt/le redémarrage non plus, ni la suppression du cache/des données de l'application contactssync. Je ne pouvais pas me déconnecter de GTalk (ce qui aurait été la prochaine étape logique), car GTalk a immédiatement insisté sur cette erreur de nom d'utilisateur/mot de passe.

Et maintenant ?

1voto

Milner Points 533

Analyse

Heureusement, logcat a donné l'adresse IP en même temps (dans mon cas : 74.125.93.113 ). Sur mon PC, j'ai d'abord vérifié avec le navigateur ("https://74.125.93.113/") -- et en fait, la connexion a été interrompue. J'ai ensuite vérifié ce qui se trouve derrière l'IP :

host 74.125.93.113
113.93.125.74.in-addr.arpa domain name pointer qw-in-f113.1e100.net.

Il ne m'a rien dit. Mais en vérifiant avec /etc/hosts sur l'appareil Android, j'ai trouvé l'entrée :

74.125.93.113 android.clients.google.com

Une recherche de cet hôte a révélé : L'IP 74.125.93.113 ne lui appartient plus, ce qui explique le problème.

Solution

La solution passe par Root, malheureusement, car /etc/hosts appartient à Root et est en lecture seule pour tous les autres. De plus, /etc n'est qu'un lien symbiotique avec /system/etc ce qui signifie que l'ensemble du système de fichiers est en lecture seule.

Ce dont vous avez besoin

Que faire ?

Ouvrez l'application terminal, et suivez ces étapes :

# make yourself root
su
# SuperUser/SuperSU may require approval at this point. Give it.

# check how /system is mounted:
mount | grep system

#output will look similar to this:
/dev/block/mmcblk1p21 on /system type ext3 (ro,relatime,barrier=1,data=ordered)

#remount /system read-write, using the values obtained:
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system

#edit /etc/hosts
vi /etc/hosts
# put a comment-sign (#) in front of the line containing the bad IP, e.g.
# 74.125.93.113 android.clients.google.com
# save the file

# re-mount /system read-only (or simply reboot, that will do it as well)
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system

Maintenant, il suffit d'attendre un peu -- ou simplement d'appeler Google Play pour vérifier. Il ne devrait pas falloir longtemps pour que les feux repassent au vert.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X