Archive pour le tag 'emulateur'

Android - avoir accès à une carte mémoire dans l’émulateur

14 janvier 2010

Cette application utilise la carte mémoire insérée dans le téléphone. C’est souvent le cas pour stocker des fichiers volumineux ou des fichiers que l’utilisateur est susceptible de vouloir récupérer. Lors du développement d’une application pour Android, les premiers tests se font dans l’émulateur. Or par défaut, l’émulateur n’a pas accès à une carte mémoire. Bien entendu, les auteurs du SDK pour Android ont prévu cette utilisation.

La carte mémoire sur Android est un système de fichier à part entière. Il faut donc créer une image de système de fichier qui sera utilisée par l’émulateur. Pour celà, placez-vous dans le sous-répertoire tools du SDK et exécutez la commande suivante :

mksdcard.exe -l mysdcard 128M sdcard.img

Cette commande a créé l’image d’une carte mémoire de 128Mo. L’image se trouve dans le sous-répertoire tools avec le nom sdcard.img mais peut être placée là où vous le souhaitez.

Une fois l’image créé, il faut indiquer à l’émulateur de l’utiliser. Lancez Eclipse et allez dans “Run configurations…”. Sélectionnez la configuration de votre application et allez dans l’onglet “Target” ou “Emulator” puis saisissez l’option suivante dans le champ “Additional Emulator Command Line Options” :

-sdcard <SDK_INSTALL_DIR>toolssdcard.img

N’oubliez pas de remplacer <SDK_INSTALL_DIR>\tools\ par le chemin complet du répertoire où se trouve l’image que vous avez créé. Cliquez sur “Apply” puis “Run”. Laissez l’émulateur se lancer et vous verrez qu’il y a une carte mémoire de 128Mo dans votre émulateur Android maintenant. ;)

A vos développements !

Emulateur Android avec une ROM personnalisée

11 janvier 2010

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