Neil_Armstrong_
Membre
- Inscrit
- 3 Janvier 2014
- Messages
- 197
- Points
- 16
- #1
Avertissement : Cette opération comporte des risques. Phonandroid et moi-meme ne pouvons être tenus responsables des éventuels problèmes rencontrés.
En parcourant le forum, j'ai trouvé que le sujet était bon à dépoussiérer... Je vous propose donc de compiler pour votre téléphone une rom custom !
Le tutoriel s'inspire sur la forme du tutoriel proposé par Seb2669 et permet de compiler
S'il vous plaît,
Connexion
ou
S'inscrire
pour voir le contenu ou les urls !
(pour l'exemple), mais ouvre la porte à la compilation d'autres roms en tout genre, et pourquoi pas à la création de sa propre rom custom.Pour qui est ce tuto ?
- Pour les débutants
- Pour les gens ayant un peu ou pas de capacités pour le développement
- Pour les personnes voulant vraiment apprendre comment faire des roms custom
- Pour les personnes voulant en savoir plus sur Android et ne sachant pas où commencer
Les outils dont vous aurez besoin :
- Un PC sous Linux (Ubuntu 22.04, Debian, Linux Mint...) idéalement, ou un PC sous Windows avec S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !installé et une distribution Linux installée (Ubuntu pour plus de simplicité)
- au minimum 300Go de libre
- 16Go de RAM
- Une connxion internet décente et fiable
- 2 outils importants : la patience et la curiosité
ETAPE 1 - PREPARER L'ENVIRONNEMENT DE TRAVAIL
1.1 ADB & FASTBOOT
On va installer adb et fastboot via ce lien
S'il vous plaît,
Connexion
ou
S'inscrire
pour voir le contenu ou les urls !
. On l'extrait en utilisant dans un terminal (et dans le bon chemin d'accès) :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
"ADB et Fastboot sont deux outils qui permettent de communiquer et d’envoyer des commandes à un appareil Android ou bien au Windows Subsystem for Android (WSA). Ils ont tous deux des fonctions différentes :
- ADB (Android Debug Bridge) : ADB permet d’envoyer des commandes à un appareil Android (du moment que le débogage USB est activé sur l’appareil) ou au WSA. Avec la commande adb, vous pouvez transférer des fichiers (adb push, adb pull), accéder à l’interpréteur de commandes (adb shell) ou encore installer des applications (adb install).
- Fastboot : Fastboot permet d’envoyer des commandes au bootloader (chargeur d’amorçage) de l’appareil Android, ce qui signifie que vous pouvez flasher/modifier des ROMs alternatives, des Recoveries personnalisés…"
Une fois fait, on va indiquer le chemin de ces 2 utillitaires à notre ~/.profile
Pour éditer le fichier .profile , on éxécute la commande suivante :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
On ajoute à la fin du document les lignes suivantes :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Une fois ajouté, on fait CTRL + X pour quitter le fichier, puis on appuie sur Y pour sauvegarder les changements sans toucher au nom du fichier.
Pour mettre à jour l'environnement de travail, on tape dans un terminal
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
1.2 PAQUETS NECESSAIRES
Dans un terminal, on tape :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
1.3 CREATION DES DOSSIERS
On créé les dossiers dans lequel on va travailler :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Pour la suite du tutoriel nous compilerons Lineage OS, le dossier créé peut donc s'appeler lineage par exemple.
Le dossier bin lui va contenir
S'il vous plaît,
Connexion
ou
S'inscrire
pour voir le contenu ou les urls !
. c'est ce qui va permettre de récupérer le code source de la rom que vous souhaitez compiler.1.x
Pour installer la commande repo, on tape les 2 commandes suivantes :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Si ce n'est pas écrit par défaut, on va rajouter le chemin d'accès de repo contenu dans le dossier bin à notre fichier .profile.
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
M^eme manipulation que précédemment. On retape dans un terminal source ~/.profile pour mettre à jour notre environnement une fois le fichier mis à jour.
1.x AUTHENTIFICATION
La commande repo nécessite une authentification, dans un terminal on va donner notre nom (pseudonyme) avec la première ligne ci-dessous ainsi qu'une adresse mail gr^ace à la seconde.
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
BONUS - UTILISER CCACHE POUR COMPILER PLUS RAPIDEMENT
Une fois ce paquet paramétré, les compilations suivantes devraient grandement ^etre accélérées.
Dans un terminal, on entre ces 2 lignes pour confirmer l'utilisation de Ccache, puis son chemin d'accès :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
On va ensuite spécifier combien de cache on veut que Ccache utilise. On ouvre le fichier bashrc depuis un terminal :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
ETAPE 2 - TELECHARGER LA SOURCE ET PREPARER LES FICHIERS SPECIFIQUES
2.1 INITIALISER LE DEPOT DE VOTRE SOURCE ET TELECHARGER LE CODE SOURCE
Depuis le terminal, on se positionne dans le dossier précédemment nommé lineage :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Toujours dans le terminal, on vient initialiser l'endroit où la source va ^etre téléchargée :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
On vérifie bien que la branche (l'argument ci-dessus "-b" + le nom de la branche "lineage-19.1"= permet de définir la branche que l'on souhaite télécharger) est celle que l'on souhaite. En général, les branches correspondent aux différentes versions d'Android. Lineage 19.1 = Android 12 ; Lineage 18.1 = Android 11 .... chaque rom custom peut nommer ses branches comme elle le souhaite, mais on retrouve quand m^eme un lien (Android 12 aussi nommé Android S = on trouve des branches "snow" , ou "sapphire", ou "s12.1"...)
On peut maintenant télécharger le code source :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
l'argument -c permet de ne télécharger que la branche que vous avez choisie au lieu de télécharger toutes les branches disponibles dans la rom.
2.2 PREPARER LES FICHIERS SPECIFIQUES
Dans un terminal et dans le dossier ~/android/lineage, on rentre successivement :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
La première commande permet d'entrer dans un mode qui permet d'utiliser les commandes qui permettront de configurer et de lancer la compilation.
La seconde commande permet de récupérer les fichiers spécifiques nécessaire à la bonne compilation de la rom. Personnellement, mon smartphone est un Oneplus 8 Pro, je tape donc :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Les différents "arbres spécifiques" (device trees et kernel tree en anglais) ont normalement été ajoutés à la source de votre rom. Il se peut en revanche que vous ayez une erreur concernant la partie "vendor". Pas de panique, il suffit de cloner depuis le site
S'il vous plaît,
Connexion
ou
S'inscrire
pour voir le contenu ou les urls !
votre arbre "vendor" correspondant à la marque de votre smartphone. Pour une Oneplus, il faut cloner S'il vous plaît,
Connexion
ou
S'inscrire
pour voir le contenu ou les urls !
par exemple.Sur la page Github proprietary_vendor_votre_marque de_smartphone, on clique sur le bouton vert "Code", et on copie le lien https.
Dans le terminal (toujours dans le dossier lineage), on tape :
Git:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Une fois fait, on relance la commande ci-dessous dans le terminal :
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Il existe d'autres méthodes pour récupérer le dossier vendor que j'explorerais plus tard.
ETAPE 3 COMPILATION
C'est l'instant de vérité.
Dans le terminal, on tape successivement
Code:
S'il vous plaît,
Connexion
ou
S'inscrire
to view codes content!
Plus qu'à attendre ! Vous ne pourrez pas manquer la résultat (rouge = erreur, vert = bravo !)
Pour information, mes premiers builds prennent en général 2h30, puis les suivants une trentaine de minutes maximum...
J'espère avoir pu vous aider, le topic reste à peaufiner (sur la forme pour une lisbilité irréprochable) bien sur, je reste à l'écoute pour toute correction ou demande d'information supplémentaire
Dernière édition: