2010-06-23 5 views
7

J'ai modifié/édité des parties de la plate-forme Android, mais j'ai rencontré un problème en essayant de tester mes modifications. Après avoir apporté mes modifications à la source de la plateforme, j'ai réussi à compiler la source - créant ainsi system.img, ramdisk.img et userdata.img.Émulateur Android suspendu au démarrage?

Quand je vais tester cela dans l'émulateur, l'émulateur se bloque simplement sur l'écran "ANDROID_", le trait de soulignement clignote, mais ne semble jamais se charger. Aucune suggestion?

La commande je courais l'émulateur est la suivante:

./emulator -system $HOME/android/platform/out/target/product/generic/system.img -ramdisk $HOME/android/platform/out/target/product/generic/ramdisk.img -data $HOME/android/platform/out/target/product/generic/userdata.img

Merci,
Chris

Répondre

8

Le premier démarrage peut prendre un certain temps, en particulier sur une machine lente mais sinon essayer exécution de la commande adb logcat pour voir la sortie du journal. Cela vous aidera à déterminer quel pourrait être le problème.

Si vous préférez ne pas fournir toutes les options à l'émulateur, c'est-à-dire le système et l'autre, vous pouvez utiliser les scripts fournis dans le dossier de construction. Exécutez ces commandes à partir du projet open source dossier racine:

source build/envsetup.sh 
setpaths 

Le premier se déroulera le script envsetup pour Android qui fournit un certain nombre de commandes utiles. Le second met en place tous les chemins nécessaires au développement de la plate-forme Android. Parmi eux, la variable ANDROID_PRODUCT_OUT qui informe l'émulateur où chercher les images de construction. Il est défini sur les dossiers par défaut que vous avez spécifiés ci-dessus. Après avoir exécuté setpaths, vous pouvez simplement démarrer l'émulateur avec votre build en tapant emulator sur la ligne de commande.

+1

Merci pour les conseils. J'ai essayé d'exécuter la commande adb logcat, qui m'a montré beaucoup plus. Il semble que l'émulateur est coincé dans une sorte de boucle de démarrage infinie. La boucle commence par AndroidRuntime DÉBUT <<<<<<<<<<<<<< Et chaque itération se termine par I/ServiceManager (25): le service 'media.audio_flinger' mourais I/ServiceManager (25): service 'media.player' est mort I/ServiceManager (25): service 'media.camera' est mort I/ServiceManager (25): le service 'media.audio_policy' est mort – Chrisc

+0

Hmm, il pourrait s'agir de l'un des les services critiques ne parviennent pas à démarrer et à cause de cela init va alors essayer de redémarrer l'ensemble du temps d'exécution Android. En fonction de la machine sur laquelle nous travaillons, nous avons rencontré des problèmes avec l'audio dans l'émulateur, auquel cas l'option -noaudio peut aider. Aussi, avez-vous essayé de faire une construction et juste exécutez le projet "tel quel" sans vos changements. Il est toujours bon de savoir que le système par défaut s'exécute avant d'essayer les modifications de la plate-forme. – BMB

+0

Merci BMB, il s'est avéré qu'une erreur se produisait quelque part dans mon code. Avec d'autres ajustements à mes affaires, Android a démarré avec succès. – Chrisc

1

Je dois normalement redémarrer pour l'exécuter. Aujourd'hui, il ne redémarrerait pas quoi qu'il arrive. Faire un ./adb logcat a toujours montré 'attente de périphérique'. Je l'ai donc redémarré en utilisant Eclipse Android SDK et AVD Manager/Start ... (option), en décochant l'option 'Launch from snapshot', et après le long processus de chargement, l'émulateur fonctionne.

10

J'ai rencontré ce problème et l'ai résolu en supprimant l'émulateur et en en créant un nouveau. Eclipse:

  1. Menu Fenêtre -> SVK Android et AVD Gestionnaire
  2. Sélection des périphériques virtuels (devrait être déjà sélectionné)
  3. Sélectionnez l'émulateur vous donnant des problèmes
  4. Modifier pour voir le réglage et rappelez-vous leur.
  5. Supprimez l'émulateur.
  6. Créer un nouveau qui est le même que l'ancien.
  7. Démarrez l'émulateur à partir d'ici avec le bouton de démarrage.

Il a commencé dans environ 30 secondes après que je l'ai fait.

Normalement, l'émulateur démarre dans environ 2-3 minutes pour moi. Ensuite, il a mystérieusement cessé de fonctionner. Je voyais l'animation de démarrage pendant 30 minutes avant que j'abandonne. Redémarrer mon ordinateur portable n'a pas aidé, ce qui m'a fait penser que c'était un problème avec les paramètres de l'émulateur, et je suis tombé sur cette solution.

  • Remarque # 1: Ceci effacera vos données utilisateur.
  • Note 2: Comme mentionné précédemment, c'est une bonne idée de cocher "Enabled" pour l'instantané lorsque vous créez ou éditez l'émulateur, cela vous permet de faire un démarrage plus rapide la prochaine fois.
  • Note # 3: Mon nouvel émulateur est apparu en chinois. C'est un peu étrange :)
+0

Merci pour cela, simple solution mais pas si obvoius ... m'a sauvé beaucoup de maux de tête! – Robert

1

Mon astuce pour démarrer l'émulateur sur une machine faible (RAM: 1 Go seulement) est de le démarrer comme une première chose après le démarrage de WinXP. En outre, l'utilisation d'une instance d'émulateur avec une résolution plus petite (plus petit nombre de pixels à émuler sur l'affichage, par exemple seulement 240 x 400) a également aidé.

6

Essayez d'utiliser adb logcat dans le terminal pour voir ce qui se passe avec l'émulateur. Quand je l'ai fait, j'ai continué à remarquer

I/ServiceManager( 918): service 'media.audio_flinger' died 
I/ServiceManager( 918): service 'media.player' died 
I/ServiceManager( 918): service 'media.camera' died 
I/ServiceManager( 918): service 'media.audio_policy' died 

répéter toutes les 10s ou plus. J'ai essayé d'activer mes caméras dans l'AVD et l'émulateur a commencé à fonctionner.

Pour activer la caméra, saisissez android avd dans le terminal et définissez les options de caméra avant et arrière.

+0

ça marche ... merci l'homme – Massimo212121

+0

Comment configurer les options de caméra avant et arrière en utilisant le terminal? des commandes? – Darpan