RSS Feed

Emulateur Android avec une ROM personnalisée

11 January 2010 par SeB 10 commentaires »

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 ! :)

 

10 réactions sur “Emulateur Android avec une ROM personnalisée”

  1. Anonymous says:

    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 !

  2. Anonymous says:

    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 ?

  3. SeB says:

    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. ;-)

  4. Anonymous says:

    Ok, je ferai suivre donc si je trouve des solution :)

    Merci de ta réponse !

  5. Mursh says:

    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 :)

  6. Anonymous says:

    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 :)

  7. Arkhorn says:

    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 ?

  8. Arkhorn says:

    D’ailleurs cette technique ne marche plus.

  9. Tony78960 says:

    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 !

  10. SeB says:

    Effectivement, yaffs2utils est un utilitaire très pratique ! ;-)

Réagissez