En attendant le Nexus 6, j’ai donné un nouveau souffle à mon Galaxy Nexus!

Il y a peu, j’ai fait une mise à jour de mon Netbook Asus EeePC en lui installant ChromeOS. Ça a donné certains résultats, mais l’instabilité (et mon manque de patience, il faut dire) ont eu raison de mon Netbook… Je me suis acheté un petit PC pas trop cher et bien plus puissant pour régler mes problèmes. Mais voilà que c’est maintenant mon téléphone, un bon vieux Galaxy Nexus, qui fait des siennes. Il est lent, bouffe de la batterie sans bon sens (j’ai pourtant acheté une 3600 mAh) et est pris avec Android 4.2.2 parce que Videotron n’a pas poussé la mise à jour 4.3 disponible pour l’appareil.

Bref, je devais absolument faire quelque chose. J’attends de pied ferme le Nexus 6, mais ne l’achèterai pas à sa sortie, je veux patienter le temps que les prix baissent un peu et que les premières impressions de l’appareil soient disponibles… bref, j’en ai pour au moins six mois avec mon Galaxy Nexus (GN).

Puisque mon téléphone a plus de 18 mois d’âge (pas mal plus), Google n’a pas rendu disponible la version 4.4 d’Android pour l’appareil. Damn! Je regardais pour installer une version 4.3 stock, développée pour le GN, mais tant qu’à tout réinstaller, pourquoi pas regarder du côté de CyanogenMod? Après tout, la version 11 me permettrait d’avoir 4.4.4? Voilà, mon choix est fait!

CyanogenMod? Kossé ça?

Pour la petite histoire, il y a Android et Android. Ok, c’est pas clair.

Android Open Source Project(AOSP), c’est ce qui est derrière Android, toutes versions, et qui est le backbone de Android, le système d’exploitation de tous nos appareils. Par dessus cette couche AOSP, on rajoute les services Google, qui ne sont pas inclus dans AOSP par défaut. Finalement, on peut ajouter la couche du fabricant, soit HTC ou Samsung, pour ne nommer que ceux-là, qui s’ajoute aux précédentes.

Si vous voulez en apprendre plus sur AOSP et les services Google, je vous invite à lire ce très intéressant article sur le sujet.

C’est quoi le rapport avec CyanogenMod? En fait, CyanogenMod, c’est une version d’Android basée sur AOSP (sans les services Google ni les surcouches des fabricants) communautaire et OpenSource. À partir de là, on comprend mieux. C’est un peu comme une autre distribution d’Android… Comme les diverses moutures de Linux, si vous voulez.

Cette communauté se base donc sur AOSP pour «créer» des versions d’Android qui sont spécifiques à des appareils. Plus haut, je mentionnais que Google, de façon officielle, n’offre pas plus de Android 4.3 (Jelly Bean) pour le Galaxy Nexus. Les développeurs de CyanogenMod, eux, via la version 11, offrent une solution 4.4.4 pour mon «vieux» GN.

Ça ne s’arrête pas là. CyanogenMod intègre aussi des fonctionnalités qui, par défaut, ne sont pas toujours disponibles dans Android standard. On peut parler des notifications ou de la gestion du voyant, ou bien de fonctions de développements… Dans le cas de mon Nexus One (ma première conversion à CyanogenMod), c’était pour être en mesure d’utiliser mon téléphone malgré le bris du bouton de démarrage; CyanogenMod permettait d’utiliser le Trackball ou le bouton du volume pour «réveiller» le téléphone.

Donc, pour mon GN, cette fois, ce qui m’a poussé vers CyanogenMod, c’est la possibilité de profiter de KitKat (Android 4.4.4) sur un appareil qui n’était pas destiné à le recevoir, selon Google. Un pied ne nez, si vous voulez (et un gain en fonctionnalités aussi).

Ouais, on fait ça comment, maintenant?

C’est ici que ça se corse. J’ai eu toutes sortes de difficultés à installer CyanogenMod… ou installer quoi que ce soit, en fait, merci à Samsung et à Microsoft.

Dans le cas de mon Nexus One, installer CyanogenMod n’était l’histoire que de quelques minutes. Il en fut tout autre pour le GN. La procédure est tout de même standard. Pour les détails, je vous invite à aller voir le Wiki de CyanogenMod, mais voici un aperçu*:

  1. On installe le SDK Android sur son ordinateur;
  2. On s’assure d’avoir activé le mode Debug sur l’appareil (et, au besoin, préalablement avoir débloqué le mode développeur, hein!);
  3. On y branche notre appareil en USB;
  4. On débloque le téléphone (on va voir apparaître le petit cadenas débarré au démarrage par la suite);
  5. On installe les pilotes nécessaires (c’est ici que ça se corse pour le GN et Windows 8);
  6. Via le SDK, (en fastboot sur le bootloader) on installe le recovery de son choix (clockworkmod fait bien le boulot);
  7. Ensuite, (en recovery) on pousse via les méthodes proposées (et selon celle qui fonctionne le mieux), le fichier zippé de votre version de CyanogenMod;
  8. Je vous conseille d’installer les services Google immédiatement, tant qu’à être dans cette interface;
  9. On redémarre, et hop, c’est fini.

*À noter, tout est effacé sur l’appareil et la garantie est, de fait, complètement annulée dès que l’on débloque le téléphone et qu’on change le recovery, alors imaginez en y poussant une ROM custom… Bref, à vos risques et périls, pauvres fous!

Comme je vous l’ai indiqué, pour moi, ça n’est pas passé comme une lettre à la poste. Outre l’apprentissage des commandes Fastboot et ADB, (ce qui se fait relativement bien), le pire a été de faire que mon ordinateur et mon téléphone se parlent. C’est ici que Samsung et Microsoft sont devenus mes ennemis. Argh.

Qu’est-ce que Windows et Microsoft ont à voir avec un téléphone Android??

Les pilotes, ou drivers. Tout est dit. Mon téléphone n’était pas reconnu par mon ordinateur Windows 8.1. J’ai eu le même problème avec un Windows 7, en passant… et c’est relié… à Samsung!

Si vous possédez un Nexus, vous n’avez pas à vous arracher les cheveux de la tête, car Google offre, dans le SDK, les pilotes USB pour TOUS les Nexus… sauf le Galaxy Nexus, vous l’aurez deviné. On nous dit d’aller le chercher chez Samsung. Mais ce n’est pas si simple.

En mode ADB (Android Debug Bridge), bref, quand le téléphone fonctionne normalement et est branché en USB, tout est reconnu et je peux donner plein de petites commandes ADB au téléphone via l’invite de commandes. La joie, quoi! Mais dès que je redémarre en mode Bootloader (un peu comme le Bios sur un ordinateur), on doit passer aux commandes Fastboot. Rien à faire, la commande Fasboot devices ne donne rien: aucun appareil n’est reconnu.

C’est parce que le pilote Fastboot n’est pas installé. Mon appareil n’est pas reconnu. Généralement, Windows indique «Unknown Device» ou «Android 1.0» avec le foutu petit triangle jaune au point d’exclamation, indiquant un problème.

J’ai essayé une quantité assez phénoménales de méthodes, en allant même jusqu’à donner des droits spéciaux à Fasboot.exe pour réussir à pousser des commandes au téléphone… sans succès. Le pilote était simplement non installé, et j’étais incapable de le pousser. Jusqu’à ce que je trouve ce billet qui explique comment activer le Fastboot sur Windows 8. Je vous invite à consulter si, comme moi, vous n’êtes pas capable d’installer les bons drivers pour Windows 8.

J’ai finalement réussi.

Ensuite, un jeu d’enfant. On télécharge les deux bons fichiers (la version de CyanogenMod et les applications Google), on les dépose dans le bon répertoire (à la même place que Fastboot.exe et ADB.exe). On utilise la méthode push and install ou sideload (perso, la première n’a pas fonctionné, mais le sideload a été rapide et efficace) et zou! c’est fini.

On démarre la bête et on configure CyanogenMod. C’est un tout autre univers qui s’offre à nous (surtout quand on était pris avec un Android 4.2.2!!).

Compliqué, ton affaire…

Ouais, bon… ok, c’est peut-être un peu compliqué pour le néophyte. Je l’avoue.

Mais je suis un vieux de la vieille, faut croire. J’avais installé, il y a un peu plus d’un an, CyanogenMod sur mon Nexus One, alors j’ai appliqué la même méthode… sans réaliser qu’il y en a une nouvelle. Ben oui!

Il y a maintenant une version «Installer» de CyanogenMod. Je ne sais pas ce que ça vaut, ni c’est efficace… Si vous l’essayez, vous m’en donnerez des nouvelles. Ça semble relativement simple.

Et ça vaut vraiment la peine?

Oh oui! Passer de 4.2.2 à 4.4.4 est un pas assez intéressant dans le monde Android, surtout pour un Galaxy Nexus. Je profite de bonnes améliorations de l’interface et des performances de l’appareil, en plus de nouvelles fonctionnalités (comme la gestion des profils) qui me sont fort utiles.

Mon appareil a gagné en autonomie, et ce, grandement. J’ai pu activer des fonctions d’économie d’énergie qui n’étaient pas disponibles avant. Je ne puis dire si ce sont des améliorations propres à CyanogenMod ou à Android 4.4.4.

Contrairement au passage de Windows 7 à Chromoe OS, la conversion de Jelly Bean à Kit Kat semble être un succès. Je viens de me donner au moins six mois avant d’avoir à changer de téléphone!

J’aurai le temps de voir baisser les prix du Nexus 6 sans trop ronger mon frein!