web-dev-qa-db-fra.com

Problème d'émulateur HelloAndroid

J'essaie du SDK Android pour la première fois. Je commence par le tutoriel HelloAndroid. suivi exactement chaque étape mais l'émulateur se lance sans mon application. La console Eclipse dit:

[2010-02-23 11:47:55 - HelloAndroid]------------------------------
[2010-02-23 11:47:55 - HelloAndroid]Android Launch!
[2010-02-23 11:47:55 - HelloAndroid]adb is running normally.
[2010-02-23 11:47:55 - HelloAndroid]Performing com.example.helloandroid.HelloAndroid activity launch
[2010-02-23 11:47:55 - HelloAndroid]Automatic Target Mode: Preferred AVD 'my_avd' is not available. Launching new emulator.
[2010-02-23 11:47:55 - HelloAndroid]Launching a new emulator with Virtual Device 'my_avd' [2010-02-23 11:48:09 - HelloAndroid]New emulator found: emulator-5554
[2010-02-23 11:48:09 - HelloAndroid]Waiting for HOME ('Android.process.acore') to be launched...

Je vois l'émulateur, le texte "Android" dessus, mais rien d'autre ne se passe. quelqu'un peut-il aider s'il vous plaît? Merci!

17
oriharel

Résumé
(Vous pouvez voir les détails complets ci-dessous ces étapes résumées). 

  1. Désinstaller/réinstaller Android SDK dans un dossier situé en dehors de C:\(aucun espace dans le chemin )
  2. Recréez le DAV.
  3. Définir la variable d'environnement PATH pour les nouveaux emplacements de dossiers du SDK Android
  4. Désinstallez/réinstallez le plug-in Android ADT dans Eclipse.
  5. Configurez l'emplacement du SDK Android dans Eclipse.
  6. Redémarrage (pour réduire l'utilisation du processeur)
  7. Exécutez l'émulateur à partir de la ligne de commande et configurez-le pour utiliser tous les processeurs avec une priorité élevée ou "temps réel". Prenez note de votre utilisation du processeur.
  8. Ouvrez Eclipse et lancez l'application.

Détails
J'ai passé deux jours à faire en sorte que l'émulateur exécute l'application HelloAndroid. Dans mon cas, le problème pourrait être une combinaison d'un problème d'installation du SDK Android et d'un problème de performances du processeur. Je pense que quelque chose entraînait le fonctionnement extrêmement lent de l'émulateur, ce qui donnait l'impression qu'il se bloquait. Mon PC est un ordinateur multi-core Intel i7 Windows 7 64 bits, 6 Go, 6 Go. Le Gestionnaire des tâches affiche 8 processeurs sur mon PC avec la balise Performance.

Mon symptôme était le Android 2.2 AVD dans l'émulateur semblait se bloquer lorsque le texte "Android" nimé était affiché à l'écran. L'écran d'accueil ne s'afficherait jamais. Ce scénario s'est passé à plusieurs reprises. J'attendais souvent 30 ou 45 minutes sans résultat.

Mon environnement:

  • SDK Android Révision 12
  • Android 2.2 AVD
  • Windows 7 64 bits
  • Eclipse IDE pour les développeurs Java Indigo Version Identifiant de version 20110615-0604
  • Processeur multicœur Intel Core i7, 6 Go, 1,6 GHz

J'ai essayé de démarrer l'émulateur à partir de la ligne de commande sans lancer Eclipse à l'invite de commande, ce qui n'a pas aidé. L'émulateur était toujours suspendu. J'ai remarqué que le Gestionnaire des tâches montrait ma boîte à 50% d'utilisation du processeur, ce qui semblait plutôt élevé. Le processeur 0 a été indexé à 100%. 

Voici ce qui l'a corrigé.

J'ai désinstallé le SDK Android R12 et je l'ai réinstallé à la racine de C: sous C:\Android-sdk. J'avais déjà rencontré des problèmes car le SDK Android se trouvait dans le dossier "C:\Program Files"; Le SDK a un bogue qui ne peut pas gérer l’espace dans le chemin . J'ai exécuté "uninstall.exe" à partir du dossier du SDK Android pour effectuer la désinstallation. La désinstallation a pris plus de temps que l'installation. 

J'ai ajouté "; C:\Android-sdk\tools \; C:\Android-sdk\platform-tools \" à la variable d'environnement PATH.

J'ai ensuite supprimé l'AVD à l'aide de SDK Manager et l'ai recréé.

J'ai désinstallé le plug-in ADT pour Eclipse, redémarré Eclipse, puis réinstallé le plug-in ADT, puis fermé Eclipse.

J'ai reconfiguré Eclipse avec le nouveau chemin d'accès du SDK Android (Fenêtre> Préférences> Android> Emplacement du SDK).

Dans l'onglet Processus du gestionnaire de tâches, j'ai activé l'option "Afficher les processus de tous les utilisateurs". J'ai ensuite cliqué avec le bouton droit sur "emulator-arm.exe * 32", puis sur "Définir l'affinité ..." et constaté que l'émulateur était configuré pour utiliser uniquement le processeur 0; je l'ai donc modifié pour qu'il utilise tous les processeurs. J'ai également défini l'émulateur sur la priorité "Temps réel". 

Observant une utilisation du processeur de 50%, j'ai redémarré.

Après le redémarrage, j'ai lancé l'émulateur en utilisant la ligne de commande:

emulator @Android22

Android22 est le nom de mon AVD. J'ai utilisé le gestionnaire de tâches pour définir l'affinité pour l'émulateur afin qu'il utilise tous les processeurs et que la priorité soit élevée. Mon utilisation du processeur était maintenant d'environ 13%, principalement en raison de l'émulateur. L'émulateur a pris environ 3 minutes pour afficher l'écran d'accueil. Yay! 

J'ai ensuite ouvert Eclipse avec l'application HelloAndroid et celle-ci s'est exécutée avec succès dans l'émulateur.

J'ai écrit en détail ce que j'ai fait parce que les deux derniers jours ont été très pénibles. J'ai remarqué plusieurs articles sur cette question avec beaucoup de gens qui ne semblaient pas avoir du succès. J'ai effectué les étapes mentionnées dans plusieurs messages mais je n'ai trouvé aucun endroit décrivant l'ensemble du processus.

Bonne chance. J'espère que cette information aide quelqu'un.

18
walkerk

Ça charge. Vous pouvez vérifier la progression du chargement dans logcat depuis DDMS ou adb Shell logcat.

Le chargement de l'émulateur prend du temps, mais souvenez-vous qu'il n'est pas nécessaire de le redémarrer lorsque vous mettez à jour votre code. Vous venez de frapper Run as... dans Eclipse et il se chargera du téléchargement et de la réinstallation dans l’emu.

Rappelez-vous également que vous pouvez utiliser votre téléphone à la place de l'émulateur. J'utilise habituellement mon téléphone lorsque l'ordinateur sur lequel je travaille est trop lent.

Bonne chance avec le développement Android!

7
Macarse

Et peut-être que c'était juste moi, mais il m'a fallu un certain temps pour comprendre ce que "LogCat" était que je continuais à lire.

Si vous utilisez Eclipse, faites "Window/Show View/Other". Ensuite, tapez "LogCat" dans la case "Afficher la vue" et "Android-> LogCat" apparaîtra. Choisissez cette option et vous aurez maintenant un onglet LogCat qui affiche les informations de sortie. Vous pouvez contrôler le niveau d’information affiché avec les boutons "VDIWE" dans le coin supérieur droit.

7
AndroidRef.com

D'accord avec le génie ci-dessus,

Avait le même problème (bloqué au chargement "maison"), m'a rappelé un problème de téléchargement que j'ai eu (bloqué à 99% et n'est pas allé plus loin -> (ouais im un noob, mais il m'a quand même rappelé cela) ) et combiné à une haine profondément enracinée à l’égard de tout pare-feu et logiciel de protection antivirus, m’a apporté une rage de berserker à haute énergie qui a détruit tout ce qui n’a que la moindre ressemblance avec la «protection» 

-> l'émulateur a bien fonctionné après ça!

  • il a tout de même pris 6 à 7 minutes pour charger l’émulateur, mais "logcat" peut vous aider à passer le temps :)
1
Hillie

après avoir appliqué les solutions ci-dessus, essayez de modifier votre disque AVD, définissez la propriété matérielle "Max VM application heap size" sur 192 ou une version supérieure, puis sélectionnez l'enveloppe QVGA. J'ai eu le même problème et avec ces paramètres, l'AVD a été chargé en moins d'une minute.

1
Jake

Il semble que la solution à privilégier consiste à acheter l’un des «téléphones de développement Android», comme annoncé sur le site des développeurs Android.

Presque deux ans plus tard, les problèmes de l'émulateur sont toujours les mêmes. Dans le dernier Eclipse avec le dernier plugin, après une panne de l'émulateur, l'utilisation du processeur est de 30%, consommée par l'animation épineuse de l'émulateur.

Le plugin Eclipse a une vue de journal LogCat avec une option pour enregistrer la sortie dans un fichier. Cette option produit un fichier de longueur 0 avec toutes les entrées sélectionnées.

Ce n'est pas un logiciel. C'est autre chose.

0
user250343

Pour ceux qui rencontrent ce fil en raison d’un problème plus récent, permettez-moi de vous fournir les informations suivantes. Espérons que cela épargnera aux gens quelques jours de perte de productivité et d’épilation. 

La dernière version de travail de Google SDK (contenu du dossier Outils) était la version 22.3; pourtant, les versions les plus anciennes ne fonctionnaient plus dans le fichier XML ( https://dl-ssl.google.com/Android/repository/repository- 8.xml ), il ne vous reste donc aucun chemin de rétrogradation clair à partir de l'interface graphique. 

Ce problème est à l'origine du problème décrit par l'OP pour toutes les versions d'API "Intel" antérieures à 19 que j'ai testées, ainsi qu'une "exception en virgule flottante" pour Intel API-19. Notez que les versions Arm de l'émulateur continueront à fonctionner, bien que beaucoup plus lentement si vous utilisez l'accélération Intel.

Le problème est documenté dans ce fil, que je n'ai pas découvert avant d'essayer l'API-19, de sorte que l'erreur "virgule flottante" fournissait une correspondance google-search:

https://code.google.com/p/Android/issues/detail?id=66786

Une des solutions est l’implémentation de Virtual Box de genymotion, bien qu’elle nécessite une version relativement nouvelle de glibc, qui n’est pas encore disponible dans Debian stable ou CentOS. (Je viens de passer une journée à installer OpenSUSE pour pouvoir "retourner au travail" avant de trouver le correctif, ci-dessus). 

La solution la plus rapide consiste à renommer "Outils" (dans le dossier "Android-sdks") en "Outils cassés", puis à télécharger l'ancienne version, que quelqu'un dans le fil, situé ci-dessus, a trouvé (en quelque sorte): http://dl.google.com/Android/android-sdk_r22.3-linux.tgzhttp://dl.google.com/Android/android-sdk_r22.3- windows.Zip

Lors de l'ouverture du tgz, vous trouverez un dossier "Outils" rempli, qui peut être copié dans le dossier "Android-sdks", où vous avez renommé l'ancienne version sous "Broken-Tools", ci-dessus.

Si ces liens (vers les versions non alpha promues comme «stables») mourraient, notez que d'autres copies existent dans d'autres emplacements non officiels (sans doute postées par d'autres développeurs «frustrés» qui tentent d'aider leurs compagnons).

Merci à Macarse pour m'avoir signalé le "adb Shell logcat", qui m'a permis de localiser la "boucle de blocage" qui se produit dans les API antérieures à la version 19, créant le comportement "Android Splash Screen Forever", qui est centré sur un "SSLCertificateSocketFactory" Erreur.

0
JosephK