Emulateur Android avec une ROM personnalisée
L’émulateur Android est plutôt bien fait. Cependant, il donne des conditions de test assez simples dans le sens où l’environnement est restreint (pas de Market par exemple) et surtout sans aucune personnalisation (comme la couche HTC Sense ou autre). C’est pourquoi, il peut s’avérer très utilise de pouvoir lancer une ROM personnalisée dans l’émulateur d’Android.
Prenons l’exemple de la ROM Cyanogen. Je pars du principe que le SDK pour Android est déjà installé et fonctionnel.
Allez dans le sous-répertoire tools du SDK et exécutez la commande suivante :
android list target
Vous devriez avoir un résultat de ce type :
Available Android targets: id: 1 or "android-2" Name: Android 1.1 Type: Platform API level: 2 Revision: 1 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 2 or "android-3" Name: Android 1.5 Type: Platform API level: 3 Revision: 1 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 3 or "android-4" Name: Android 1.6 Type: Platform API level: 4 Revision: 1 Skins: HVGA (default), QVGA, WVGA800, WVGA854
Notez l’id de Android 1.5 qui correspond à la version d’Android de la ROM Cyanogen. Dans cet exemple l’id vaut 2.
Maintenant saisissez la commande suivante en remplaçant le 2 par la valeur de l’identifiant que vous avez noté :
android create avd -n cyanogen365 -t 2
Le programme vous demande si vous souhaitez personnaliser le profile matériel de l’émulateur. Si vous ne savez pas de quoi il en ressort, laissez la réponse par défaut (no). Le profile de l’émulateur est créé.
Récupérez la ROM Cyanogen. Décompressez-la. Vous obtenez un fichier system.img. Copiez ce fichier dans le répertoire .android\cyanogen365.avd qui se trouve dans votre répertoire utilisateur (C:\Documents and Settings\<user>\ sur Windows XP ou C:\Users\<user>\ sur Windows Vista).
Maintenant, il ne vous reste plus qu’à lancer l’émulateur avec la commande suivante :
emulator -avd cyanogen
Le chargement de l’émulateur est un peu lent la première fois mais c’est normal. Une fois démarré, vous pouvez constater que c’est la version Cyanogen qui tourne dans l’émulateur. 😉
Pour ceux qui utilisent Eclipse pour le développement Android, notez qu’il est possible de créer le profile de l’émulateur et de lancer ce dernier à partir d’Eclipse.
Je n’ai pas réussi à démarrer avec succès la ROM du HTC Hero. Que ce soit la ROM officielle ou bien celle générée à partir de mon téléphone. Si quelqu’un a des informations sur le sujet, ça m’intéresse énormément car ce serait très pratique de pouvoir tester certain développement avec la couche HTC Sense via l’émulateur (et donc sans risquer de le faire sur le téléphone).
Je vous laisse vous amuser avec les ROMs personnalisées ! 🙂
https://blog.lecacheur.com/2010/01/11/emulateur-android-avec-une-rom-personnalisee/AndroidDéveloppementandroidL'émulateur Android est plutôt bien fait. Cependant, il donne des conditions de test assez simples dans le sens où l'environnement est restreint (pas de Market par exemple) et surtout sans aucune personnalisation (comme la couche HTC Sense ou autre). C'est pourquoi, il peut s'avérer très utilise de pouvoir lancer...SeBSébastien LECACHEUR23r0@laposte.netAdministratorLe weblogue de SeB
Bonjour.
Je ne sais pas si vous verrez ce message, mais je me permet de réagir a cet article. En effet, je vient d’essayer d’émuler la rom miui 2.3.3 pour Desire HD,avec votre technique. Je parvient bien a émuler android, mais juste android, pas miui. J’ai pourtant suivis vos instruction a la lettre, mais rien n’y fais.
Je précise que j’ai pris l’id 9 qui correspond a android 2.3.3, version de la rom miui et que j’ai copier l’intégralité de l’archive de la rom de miui, ne trouvant pas le fichier « systèm.img » Pourtant, malgré cela, et comme je vous le disait, j’arrive a booter sans problème, mais sur android de base, et non miui.
Je ne comprend donc pas d’ou peux venir le problème et me permet de vous demander votre aide.
Merci d’avance !
J’ai fais quelques recherches et il semblerais que le problème vienne du fait que n’ai pas de fichier d’image système. J’ai fais quelques recherche pour savoir comment en créer une a partir d’une archive, mais ca m’a l’air assez compliqué.
Voici le tuto que j’ai trouvé : http://discuz-android.blogspot.com/2008/01/customize-google-android-systemimg-for.html
Mais je bloque a l’étape 1, car impossible de trouver le « mkfs.yaffs2 tool », le lien de téléchargement est cassé.
Sauriez vous m’aider dans ce sens ?
Merci de l’intérêt que tu portes à mon article. 🙂 Je ne sais pas où tu pourrais trouver l’outil te permettant de générer le fichier system.img. Tu peux peut-être contacter les développeurs de la ROM MIUI, ils peuvent peut-être te fournir le fichier ou à minima t’indiquer comment générer ce fichier.
Si tu trouves une solution, n’hésite pas à l’expliquer ici. Ça peut servir à d’autres personnes. 😉
Ok, je ferai suivre donc si je trouve des solution 🙂
Merci de ta réponse !
Le plus simple, si MIUI est installé sur ton DHD, est de faire un nandroid backup, et de récuperer le fichier system.img sur ta carte mémoire 🙂
Oui, je sais bien, mais je ne pouvais pas installer Miui sur mon téléphone, je voulait tester la version gingerbread du Nexus S a ce moment là.
Mais merci de ta réponse 🙂
Hey un system.img ça provient d’un nand (un backup de sa rom) si t’as installé miui tu devrais savoir que t’as un recovery de dispo nan ?
D’ailleurs cette technique ne marche plus.
Bonjour à tous !
Le programme que vous cherchez pour générer system.img (fichier image YAFFS) peut être trouvé ici :
http://code.google.com/p/yaffs2utils/
http://code.google.com/p/yafuse (non testé)
Pour lancer ces programmes le mieux est d’être sous linux (pour ma part j’utilise Ubuntu), vu que ce sont des projets open-source vous pouvez toujours essayer de compiler les sources sous windows mais je n’ai pas testé si ça fonctionnait.
En espérant que cela vous sera utile !
Effectivement, yaffs2utils est un utilitaire très pratique ! 😉