Compiler Android

La semaine passée, mon cellulaire Google Nexus S s’est mis à jour de la version 4.1.1 à 4.1.2. Depuis ce temps, tout comme d’autres personnes, il ne m’est plus possible de partager mes données avec mon ordinateur portable dû à un bogue. Comme il n’est pas possible de simplement retourner en arrière, j’en ai profité pour en apprendre plus sur le système Android pour compiler moi-même la version 4.1.1.

Système précompilé

Google fournit des images du manufacturier pour tous les appareils dont il est partenaire. Par exemple, tous les Galaxy et Nexus sont disponibles là. Le seul problème, c’est qu’il n’y a que les plus récentes versions. Pour mon Nexus S, appelé parfois « Sojua » ou « Crespo » selon les images par défaut ou le modèle pour compiler respectivement, il n’y a que la version 4.1.2 qui est disponible. D’un certain côté, cela a du sens puisque si j’installais une version plus ancienne, je me ferais sans arrêt demander si je désire mettre à jour mon cellulaire et ce serait très agaçant. Par contre, si vous désirez simplement rafraichir votre système suite à un problème logiciel, c’est la meilleure solution à prendre.

Si vous ne savez pas si vous devriez prendre « Soju » ou « Sojua », si vous vous trompez, vous ne pourrez plus vous connecter à votre réseau cellulaire. Prenez l’autre et il reviendra.

Préalables

Pour compiler vous-même le système Android, vous aurez besoin d’une installation de Linux tel Ubuntu. De plus, côté matériel, votre ordinateur devra avoir 16G de mémoire RAM+SWAP. Bien entendu, le mieux est d’avoir le tout en RAM pour aller plus rapidement. Avec mes 16G de RAM et processeur i5 2.80GHz, c’est autour d’une heure à compiler le tout. Vous devez suivre les instructions sur la page officielle pour préparer votre système.

Code source

Votre motivation n’a toujours pas flanché? Tant mieux! Pour obtenir le code source des différents entrepôts Git, Android utilise un script qu’il a créé et nommé « repo ». C’est avec celui-ci que vous pourrez choisir le tag « android-4.1.1_rX » dont le X est la version la plus haute. Une liste vous sera affichée au moment de choisir le tag. Les instructions sont disponibles ici et préparez-vous à télécharger 12G d’entrepôts!

Pilotes des périphériques

Avant de compiler, il est important d’aller voir la page qui suit celle de la compilation et qui parle des pilotes, car vous devrez recompiler si vous ne les avez pas déjà téléchargés… (merci documentation pas en ordre…) Vous pouvez télécharger les pilotes pour la version 4.1.1 du modèle Crespo sur ce site. Puis, vous les dézippez dans un nouveau répertoire « vendor » à la racine de votre code source téléchargé.

Compiler

Pour compiler, les instructions sont très simples. Lors de l’utilisation de la commande « lunch », il faut choisir le bon modèle, comme dans mon cas « crespo ».

Débloquer et Flasher le téléphone

Les instructions sont toutes indiquées ici. J’aimerais juste noter que contrairement aux iPhone, débloquer un système Android est une simple option et non un hack. Les outils sont fournis et il suffit d’écrire fastboot oem unlock pour le débarrer ou lock pour le barrer. Par contre, en même temps qu’il se fait débarrer, vous perdrez vos données personnelles. La majorité sera toutefois remise par Google si vous avez activé la synchronisation des données applicatives.

Google Apps

La version d’Android que vous venez de compiler ne contient pas beaucoup d’applications. Il n’y a aucune application Google telle Google Play pour télécharger d’autres applications. Vous pouvez télécharger gapps sur Goo.im et ensuite l’installer en utilisant ClockworkMod qui est un petit programme qui s’installe à la place de l’option de « recovery » et qui permet de dézipper des applications. En gros, vous aurez à:

  • télécharger ClockworkMod
  • le mettre sur votre appareil avec fastboot flash recovery path/to/clockwork.img
  • télécharger gapps
  • démarrer votre téléphone en mode de recovery (pour aller dans ClockworkMod)
  • activer les fichiers sur USB
  • copier le zip de gapps sur votre téléphone
  • désactiver les fichiers sur USB
  • flasher un zip avec ClockworkMod en choisissant le zip de gapps
  • redémarrer

Ressource

Si vous voulez voir en vidéos comment débloquer l’appareil et utiliser ClockworkMod, il y a une vidéo Youtube qui explique très bien, mais en anglais.