Aller au contenu

[TUTO] Compiler son AOSP 2.1 maison


shinto

Recommended Posts

J'ouvre un nouveau Topic (ouvert sur SPF également, autant en faire profiter tout le monde...) consacré à la compilation « à la mano » de l'AOSP 2.1 sur notre Dream.

Je reprends pour l'instant la traduction tiré de du site "source.android.com" que j'avais déjà effectué dans un précédent topic de SPF. Je l'ai complété par mes propres bidouilles.

Il y a encore plein de choses à faire pour que ce soit fonctionnel, mais c'est pour le fun et le plaisir de la ligne de commande...

Attention, je ne suis responsable de rien, mis à par de ce que je fais... :lol: .

De plus, vous ne trouverez pas dans ces lignes :

- le super hack de la mort qui tue pour gagner 10MO,

- Compcache & Cie

- App2sd...

Sources principales :

http://source.android.com/download

http://source.android.com/documentation/building-for-dream

XDA / osdi.com /etc...

[edit : 07/02/10]

Quelques infos importantes ici : http://osdir.com/ml/android-platform/2010-01/msg00431.html

Merci au membres de frandroid et de SPF

Config utilisée :

- Un PC 32-bit x86 avec une ubuntu Karmic 9.10 à jour (possible sous OSX Intel, mais j’ai un PPC, donc je n’ai pas testé…)

- Une bonne cafetière

- Un bon bouquin ou un très, très, très long film

- Une femme compréhensive et passionnée (si si, c’est important), des enfants qui dorment, etc

On commence :

1/ Nécessaire pour importer et compiler les sources sous Ubuntu :

$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind lib32readline5-dev

Il faut modifier votre version de java pour passer la n°5 par défaut. La version 6 n’est pas compatible avec Android.

Shino me signale avec raison que java 5 est abandonné sur Karmic. Il faut fouiller sur https://launchpad.net/ubuntu/karmic/i386/sun-java5-jdk pour trouver les *.deb qui vont bien.

2/ Installation du fichier d’importation des sources :

On créer un répertoire /bin dans votre répertoire /home (si il existe, on passe, bien sûr)

$ cd ~

$ mkdir bin

$ echo $PATH

On vérifie que le répertoire /home/votrehome/bin soit bien dans le PATH. Si c’est pas le cas, il faut l’y mettre.

On télécharge le script d’importation des source et on le rend exécutable :

$ curl http://android.git.kernel.org/repo >~/bin/repo

$ chmod a+x ~/bin/repo

3/ Initialisation du répertoire de compilation des sources

On créer le répertoire de compilation :

$ mkdir mydroid

$ cd mydroid

On lance l’initialisation du répertoire :

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair

On configure l’importation des sources du drivers de la camera :

$ repo init –u git://gitorious.org/eclair-camera-drivers/manifest.git -b eclair

On modifie le fichier default.xml du répertoire /mydroid/.repo/manifests en rajoutant (avant la dernière ligne) :

4/ Récupération des sources

$ repo sync

5/ Vérification des sources :

$ gpg --import

Vous copier/coller à la suite le texte ci dessous :

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV

lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7

8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD

u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z

wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq

/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5

jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4

MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9

b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv

aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k

cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX

gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI

2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl

QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up

hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk

C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX

LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+

OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M

pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s

KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb

N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA

vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo

G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ

hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l

EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=

=Wi5D

-----END PGP PUBLIC KEY BLOCK-----

On sort par un Control-D.

6/ Modification du WebKit :

La lib « libwebcore » plante la compilation. Il faut remplacer le contenu du répertoire webkit par une version moins récente : http://android.git.kernel.org/?p=platform/external/webkit.git;a=snapshot;h=18342a41ab72e2c21931afaaab6f1b9bdbedb9fa;sf=tgz

7/ Installation des fichiers spéciaux HTC et compilation :

On récupère la ROM OTA d’HTC signed-dream_devphone_userdebug-ota-14721.zip (chercher dans le tuto d’installation de la Cyanogen) et on copie le fichier dans le répertoire /mydroid

Téléchargez le fichier « HTC Proprietary Binaries for ADP1 » ici : http://developer.htc.com/index.html et décompressez le dans le répertoire /mydroid/vendor/htc/dream-open. Dans ce répertoire, lancez le fichier que vous venez de décompresser.

Ensuite lancez le script « unzip-files.sh »

$ sh unzip-files.sh

On va mettre un peu les mains dans le cambouis.

a/ BoardConfig.mk :

Editez le fichier …/mydroid/vendor/htc/dream-open/BoardConfig.mk et rajoutez :

TARGET_NO_RADIOIMAGE := true

TARGET_NO_RECOVERY := true

BOARD_USE_HTC_LIBSENSORS := true

b/ apns-conf.xml (pour Orange)

Editez le fichier …/mydroid/vendor/aosp/etc/apns-conf.xml et rajoutez avant la dernière ligne :

mcc="208"

mnc="01"

apn="orange.mms"

user="orange"

password="orange"

server="none"

mmsproxy="192.168.010.200"

mmsport="8080"

mmsc="http://mms.orange.fr"

type="mms"

/>

mcc="208"

mnc="01"

apn="orange"

user="orange"

password="orange"

server="none"

mmsproxy="none"

mmsport="none"

mmsc="none"

type="default"

/>

c/aosp_dream_eu.mk (pas essentiel)

Personnalisez votre ROM avec le fichier …/mydroid/vendor/aosp/products/aosp_dream_eu.mk

d/aosp_core.mk

Dans le même répertoire, ce fichier permettra de compiler les apps qui intégreront votre ROM...

e/ Le plus long et fastidieux : passage des icônes « hdpi » en « mdpi » pour les apps :

Dans le répertoire .../mydroid/packages vous trouverez l'essentiel des futurs apk. Dans les sous répertoires « res » de chaque appli, on a, la plupart du temps, des répertoires marqués « drawable-hdpi » et d'autres marqués « drawable- mdpi » (avec quelques variantes). Si la plupart des *.png que vous y trouverez sont les même (en plus petit pour le mdpi >> 67% du hdpi), la plupart des icônes restent les vieilles pour le mdpi. Il faut donc copier/coller toutes les icônes à la main (par "comparaison" avec 2 fenêtres de Nautilus, c'est le mieux... inutile, voire dangereux, de copier le contenu des « hdpi » vers le « mdpi »...). Chaque icône copiée doit être ensuite ramenée à 67% de sa taille (je vous conseille la fonction de redimensionnement de nautilus à installer via synaptic).

Quand tout est fini (app, provider, etc.), vous avez encore quelques icônes à faire dans ...mydroid/framework/base/core/res/res/

Ensuite revenez à la racine du répertoire /mydroid pour la compilation et lancez les commandes :

$ . build/envsetup.sh

$ lunch aosp_dream_eu-eng

$ make –j8

Attendez longtemps… Si ça plante, ben, les connaisseurs de Linux sauront que « Google est ton ami… »

Si ça arrive à son terme, vous trouverez dans le répertoire /mydroid/out/target/dream-open (je suis plus sûr du répertoire, le PC Linux, n’est pas allumé…) les trois fichiers suivants :

system.img

userdata.img

boot.img

Perso mon Dream à le SPL Hakyro et le recovery Amon-RA 1.5.2.

Je flashe comme ça :

Démarrage du Dream en HBOOT Mode (« camera+power » puis touche « send »). Ensuite je branche le Deam au PC avec le câble USB.

Puis sur mon PC :

$ fastboot erase system –w

$ fastboot erase userdata

$ fastboot erase boot

$ fastboot flash system system.img

$ fastboot flash userdata userdata.img

$ fastboot flash boot boot.img

$ fastboot reboot

Ensuite je flashe les GoogleApps via GoogleBits-sdk7-v1.7-signed.zip (Google est ton ami... j'adore cette phrase, surtout dans ce contexte) en mode Recovery.

Puis en mode console du Recovery :

# fix_permissions

# reboot

Voili, voilère pour l'instant.

Je dois encore fixer :

- l'accéléromètre (pas de rotation sauf à l'ouverture du clapet),

- la 3D (problème de drivers d'HTC a priori),

- le market n'installe pas les appli téléchargées,

- l'intégration du clavier physique AZERTY dès la compilation,

- le rootage dès la compilation,

- etc...

Voilà, la balle est dans le camps des Dreamer... Enjoy :D

Modifié par shinto
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...