web-dev-qa-db-fra.com

La conversion au format Dalvik a échoué avec l'erreur 1 avec javax/net/SocketFactory.class

Rencontrez ce problème lorsque vous essayez de générer un projet en obtenant une telle sortie dans la console:

[2010-07-19 23:29:23 - myProject]
trouble processing "javax/net/SocketFactory.class":
[2010-07-19 23:29:23 - myProject] 
Attempt to include a core VM class in something other than a core library.
It is likely that you have attempted to include the core library from a desktop
virtual machine into an application, which will most assuredly not work. If
you really intend to build a core library -- which is only appropriate as
part of creating a full virtual machine binary, as opposed to compiling an
application -- then use the "--core-library" option to suppress this error
message. If you go ahead and use "--core-library" but are in fact building
an application, then please be aware that your build will still fail at some
point; you will simply be denied the pleasure of reading this helpful error
message.
[2010-07-19 23:29:23 - myProject] 1 error; aborting
[2010-07-19 23:29:23 - myProject] Conversion to Dalvik format failed with error 1

Je cherchais mon projet d’utiliser le paquet javax, non trouvé, tout nettoyer n’aide pas non plus. Qu'est ce que je fais mal?

Mettre à jour

Désolé les gars, mais je ne pouvais pas trouver la bonne solution pour cela, je tiens à souligner le fait que je n’utilise pas du tout la classe SocketFactory dans mon projet! le code source n'a pas été changé avant ce problème, et c'est pourquoi je pense que ce problème dans Eclipse ou adt ou autre chose, MAIS si j'utilise ant (généré par sdk) pour construire ce projet, il n'y a pas de problème !!!

Je résous ce problème en supprimant Eclipse, le SDK Android et l’espace de travail Eclipse, puis je les réinstalle, après que tout fonctionne correctement pour le moment.

J'espère que cela aidera quelqu'un.

25
Arkaha

J'ai eu le même problème .. Cela a fonctionné pour moi Projet -> propriétés-> chemin de construction Java-> bibliothèques-> supprimer tout y compris les bocaux Android

maintenant, allez dans le navigateur de projet, faites un clic droit sur le projet sur lequel vous travaillez, puis les outils Android. ---> fixez les propriétés du projet ... faire un nettoyage et ensuite construire ...

49
prash
  • J'ai résolu le problème (du moins pour moi).

Voici ce que j'ai fait:

  • Aller sur Projet »Propriétés» Chemin de construction Java »Bibliothèques
  • Supprimer tout sauf le "Android X.Y" cliquez sur OK. 
  • Sélectionnez Projet »Nettoyer» Nettoyer les projets sélectionnés ci-dessous », sélectionnez votre projet et cliquez sur OK.

Cela a fait le tour pour moi. J'espère que ça marche pour vous aussi

Mise à jour: eh bien, je devrais peut-être retirer mon opinion .. les actions ont supprimé les messages d'erreur, mais certaines classes et méthodes me manquent ...

11
Spock

Je viens de redémarrer Eclipse, et l'erreur n'apparaît plus!

5
Eng.Fouad

J'ai eu le même problème et je l'ai résolu comme suit: 

  1. Commencez par nettoyer tous les pots. (Ce problème doit parce que vos quelques pots)
  2. Supprimer le projet;
  3. Projet de réimportation;
  4. Assurez-vous que votre sdk est correct et que le projet sélectionne une version de sdk;
  5. (C’est mon problème pour résoudre le problème) Cliquez avec le bouton droit de la souris sur votre projet, sélectionnez "chemin de construction", sélectionnez ensuite "ajouter des bibliothèques", puis ajoutez vos fichiers jar privés. clean-build, le problème a résolu;
4
califan

Cela m'est arrivé de cette façon,

J'ai un projet assez ancien sur lequel je devais recommencer à travailler aujourd'hui. J'utilise la bibliothèque 'Universal Image Downloader' pour pratiquement tous les projets où je dois traiter beaucoup d'images. Ainsi, dans cet ancien projet, les fichiers source de 'Universal Image Downloader' étaient inclus dans son chemin 'src'. À l'époque, j'étais un débutant et j'ai lentement commencé à développer ma propre bibliothèque, capable de gérer chaque jour des tâches de développement Android simples très facilement. Évidemment, j'ai inclus le 'Universal Image Downloader' à cela.

Après avoir dépoussiéré l'ancien projet aujourd'hui, la première chose que j'ai faite a été de référencer ma bibliothèque pour accélérer le processus de développement, mais alors que j'essayais de déboguer, je rencontrais encore et encore le format "La conversion au format Dalvik échouait avec l'erreur 1". Au début, je pensais que c’était la bibliothèque de support, mais même après avoir effacé toutes les bibliothèques et n’avoir ajouté que la mienne et fait un rapide 'Corriger les propriétés du projet', je l’ai tout de même. Après avoir essayé diverses solutions, j'ai remarqué ceci dans la console "Exception Java.lang.IllegalArgumentException: déjà ajoutée: Lcom/nostra13/universalimageloader/cache/disc/BaseDiscCache;"

C'était aussi simple que cela ... J'essaie de compiler une classe qui a déjà été compilée.

Solution: J'ai simplement supprimé tous les fichiers de classe que j'ai obtenus dans la bibliothèque "Universal Image Downloader" du répertoire "src". Depuis que ma bibliothèque fait référence à la bibliothèque "Universal Image Downloader", l'ancien projet a très bien fonctionné.

3
Ben Bww

Je viens d'avoir le même problème et j'ai essayé toutes les solutions énumérées ici sans succès (je commençais à être énervé). Ensuite, j'ai supprimé le projet de l'espace de travail, puis importé à nouveau. Aucun problème!

3
stealthcopter

Hit même problème affiché dans votre journal lorsque vous essayez d'exécuter un projet exemple qui a été importé dans Eclipse.

Informations supplémentaires: dans la vue Problèmes d'Eclipse, l'erreur suivante apparaît:

"Le projet ne peut pas être généré tant que les erreurs du chemin de génération ne sont pas résolues"

Dans mon cas, le projet importé trouve les bibliothèques juste (par juste je veux dire, je peux voir le chemin externe vers chacune des bibliothèques Android dans ce cas 2 bibliothèques, Android.jar et maps.jar). Donc, pas de mélange de bibliothèques dans mon cas, mais pourrait être votre problème.

J'ai suivi la suggestion de Spock de nettoyer le projet, ce que j'ai dû nettoyer plusieurs fois jusqu'à ce que le problème soit résolu. Une fois le problème résolu, je devais spécifier un AVD pour que le projet s'exécute et peu après, il était opérationnel sur l'émulateur. Notez également que mon Eclipse est configuré pour construire automatiquement.

Dans mon cas, il ne me manque aucun fichier de classe ou quoi que ce soit après le nettoyage, car la construction les génère correctement.

Cordialement!

2
Juan Correa

J'avais la même erreur. Mon problème était que j'avais un appareil Android connecté pour déboguer. Dès que je l'ai débranché, j'ai pu exporter.

2
jomarco

La réponse que j'ai trouvée était de vérifier le chemin de génération de la source et de la bibliothèque dans les propriétés du projet. Il y aura très probablement un doublon, comme dans un élément référencé dans les onglets source et library. Supprimez donc l’extra dans l’onglet source, puis nettoyez le projet et vous devriez être prêt à partir.

2
rockstar8577

Je pouvais résoudre ce problème en créant un nouveau projet. Il semblerait que certains paramètres du projet créaient ce problème et je ne pouvais pas vraiment en trouver la cause. Mais le vidage du code source existant sur le nouveau projet a résolu ce problème. Si quelqu'un a trouvé la cause de ce problème, merci de me le faire savoir.

1
Sridhar

Dans certaines conditions, ses slips sont modifiés et la meilleure solution que j'ai trouvée est de supprimer les bocaux référencés, de les nettoyer, de les rajouter, puis de les compiler à nouveau.

Je crois que l'erreur peut être provoquée en incluant les mêmes classes deux fois.

Cette erreur se produira également (et vous ne pourrez pas vous en débarrasser en nettoyant) lors de l'utilisation de classes ne faisant pas partie de l'environnement Android.

1
FishyFingers

J'ai résolu le problème en mettant à jour les packages disponibles dans le gestionnaire de SDK et d'AVD Android. Pas besoin de supprimer Eclipse.

1
Pozinux

Pour résumer les informations contenues dans le lien fourni par bimbim.in (ainsi que je l’ai compris lorsque j’y ai jeté un coup d’œil)

  • Le Davik Android VM tente de compiler les fichiers JAR, mais trouve des éléments qu'il ne peut pas compiler en fichiers .dex. 

alors 

  • Créez simplement un répertoire "lib" à la racine du projet (où se trouvent les répertoires src, bin res) et ajoutez-les au chemin de construction. Propriétés du projet ... Chemin de construction Java ... Bibliothèques .. Ajouter des fichiers JAR ..
1
Tim

Non plus:

  • javax.net.SocketLibrary est dans votre code source, ou
  • javax.net.SocketLibrary est inclus dans un fichier JAR dans votre projet
1
CommonsWare

J’avais le même problème et le résolvais comme suit: JAR (la première fois que je les ai ajoutés en interne, le problème peut donc se poser) Après, l'erreur a disparu.

1
deepkimo

Chaque fois que le projet dispose de données ambitieuses. Ce problème est causé. Peut-être qu'Android n'arrive pas à trouver lequel choisir.

0
Jabeer

Je l'ai fait comme l'instruction de la première réponse et cela fonctionne. (Linux) Je pense que le problème peut être causé par les mises à jour du SDK ou de l'ADT. Je dois effacer toute la bibliothèque dans Java Building path, puis utiliser des outils Android pour réparer le projet. Après le nettoyage et la reconstruction, cela fonctionne comme avant.

0
cedricliang

Mon problème était d'avoir un fichier jar dans mon dossier src. La suppression des fichiers du chemin de génération fonctionne, mais uniquement si vous n'avez pas besoin du fichier en question. Pour les personnes qui ont besoin du fichier JAR en question, assurez-vous que votre fichier JAR ne se trouve pas dans le dossier du projet (peut-être juste un sous-arbre src, mais je le garderais séparément pour le test). Mettez-le sur votre bureau ou quelque chose et essayez l'option "Ajouter un fichier externe ..". Assurez-vous de supprimer le fichier jar du système de fichiers du projet avant d’ajouter un autre serveur externe. Avoir les deux est ce qui cause le problème. 

0
Vinnie

D'après ce que j'ai compris, cette même erreur cryptique pourrait être causée par une grande variété de raisons. J'ai aussi l'erreur «La conversion au format Dalvik a échoué avec l'erreur 1». Dans mon cas, le problème était que, pour une raison quelconque, Projet -> Propriétés -> Compilateur Java n'était pas défini sur "Activer les paramètres spécifiques au projet" avec les paramètres Java 1.5 appropriés, mais laissait plutôt les valeurs par défaut (1.6 dans mon cas). Déboguer, compiler et tester sur des émulateurs/périphériques fonctionnaient bien, mais l'exportation échouait toujours avec le message d'erreur ci-dessus. 

En cas de doute sur les paramètres appropriés, créez le même projet sur un autre emplacement et copiez simplement tous les fichiers nécessaires de l'ancien projet dans le nouveau. Cela a résolu le problème pour moi.

Le problème suivant avec le même message d'erreur provient de l'utilisation de proguard. La mise à jour vers la dernière version en remplaçant celle fournie avec Android SDK a corrigé le problème.

J'espère que cela t'aides

0
demosten