Comment résoudre L'erreur D'installation de DEXOPT?

je développe une application Android en utilisant Android 2.2, ma taille APK application est de 22,5 Mo, et je voudrais créer une nouvelle construction pour une tablette Samsung. J'ai eu l'erreur suivante:

INSTALL_FAILED_DEXOPT

comment résoudre ce genre d'erreur?

115
demandé sur E.T. 2011-03-01 13:57:16

30 réponses

redémarrer l'émulateur du Android SDK and AVD Manager et sélectionner l'option Wipe User Data a résolu ce problème pour moi.

vous pouvez trouver l'option comme mise en évidence dans l'image ci-dessous donnée:

Wipe User Data option when starting android emulator

59
répondu Vikas Patidar 2014-11-03 04:54:32

votre ancienne version de l'application que vous installez a des bibliothèques / bocaux dépendants qui ont été changés. J'ai rencontré ce problème lors de la mise à jour d'autres fichiers jar que mon application réfringait.

Vous devez Désinstaller votre ancienne version et que vous n'avez plus de questions...

Paramètres-->Applications-- > Gérer les Applications-->[trouver et désinstaller votre application]

Les erreurs

INSTALL_FAILED_DEXOPT ne doivent pas apparaître. Comme

[2011-06-14 01:23:40 - ProtectYourself] Installing ProtectYourself.apk...
[2011-06-14 01:24:26 - ProtectYourself] Installation error: INSTALL_FAILED_DEXOPT
[2011-06-14 01:24:26 - ProtectYourself] Please check logcat output for more details.
[2011-06-14 01:24:26 - ProtectYourself] Launch canceled!

Whoo hoo.

19
répondu Lenn Dolling 2011-06-14 08:36:24

si vous utilisez Android Studio , essayez de nettoyer votre projet:

Build > Nettoyage De Projet

14
répondu SandroMarques 2014-08-04 14:29:23

Il semble que ce message d'erreur peut avoir de nombreuses causes différentes. Le cas que je suis tombé sur était sur un appareil réel (donc les bases de l'émulateur solutions ne s'appliquent pas).

en gros, lorsque cela se produit, réglez votre filtre Logcat sur Verbose ou Warn , ce qui vous aidera à obtenir plus d'information sur la cause.

dans mon cas, des versions multiples ou contradictoires de JUnit étaient incluses dans le projet Je travaillais sur (une grande base de code existante). L'application Android que j'essayais de déployer avait plusieurs projets de bibliothèques comme dépendances, et j'avais par erreur configuré les choses pour inclure plusieurs fichiers JAR Jun.

j'ai découvert ceci basé sur une série de messages Logcat. Notez que la ligne WARN donne la cause:

DEBUG/dalvikvm(4808): DexOpt: 'Ljunit/framework/TestSuite;' has an earlier definition; blocking out
11-06 14:30:10.973: WARN/dalvikvm(4808): Invalid file flags in class Ljunit/runner/Sorter$Swapper;: 0209
11-06 14:30:10.973: null/libc(4808): Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 4808 (dexopt)
11
répondu wsanville 2012-11-06 22:12:20

tenter ma réponse https://stackoverflow.com/a/34918549/3737254

si vous utilisez android studio 2.0, désactivez l'exécution instantanée.

pour info, l'instant d'exécuter est la nouvelle fonctionnalité d'android studio 2.0 (je ne l'ai jamais utilisé, il >.< )

comment désactiver : préférences -> construire, d'exécution et de déploiement -> instantanée exécuter -> désactiver, puis travaille comme de la magie

Profitez-en!

9
répondu yfsx 2017-05-23 11:47:31

j'avais besoin de désactiver L'exécution instantanée pour corriger le problème. Pour désactiver L'exécution instantanée sur OS X, allez à Android Studio > Préférences > construction, exécution, déploiement > exécution instantanée puis retirez la tique de Enable Instant Run to hot swap code/resource changes on deploy (default enabled) .

8
répondu iamkaan 2016-02-04 21:01:38

je travaille avec Android Studio et j'ai eu la même erreur.

supprimer le dossier de construction du principal Modul a aidé. Après la suppression, tout redevient normal.

5
répondu Informatic0re 2014-10-14 07:50:13

i 'a changé le RAM taille et la capacité de stockage interne de l'émulateur maintenant, il fonctionne... in eclipse AVD manager

5
répondu KATJ Srinath 2015-06-01 08:19:58

INSTALL_FAIL_DEXOPT a habituellement à voir avec la limite placée sur les classes.dex. Sur quelque chose de pré-ICS dexopt échouera sur quelque chose de plus de 5 Mo. Les versions récentes D'Android utilisent un tampon de 8 ou 16 Mo.

Vérifiez la taille des classes.dex dans votre APK. Il serait également bon de voir ce que votre méthode compte est, car dex a une limite de méthode/champ 65536.


, les Références:

erreur lors de l'installation application (INSTALL_FAILED_DEXOPT)

https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920

Comment faire pour réduire code - 65k méthode limite en dex

4
répondu Jared Rummler 2017-05-23 12:34:45

j'ai rencontré ce problème après avoir activé le drapeau jumboMode dans le build ( dex.force.jumbo=true ). Tout a bien fonctionné sur les nouveaux appareils Android, mais l'installation a échoué sur Gingerbread.

donc si votre application nécessite le mode jumbo en raison de la restriction gênante de 65k, essayez de couper quelques chaînes de code inutilisées et de définir le mode jumbo retour à false.

3
répondu friederbluemle 2014-06-24 08:49:04

classes.dex ne pas se rendre à la finale .apk . Exécuter gradlew --offline clean && gradlew --offline assembleDebug a réparé des choses pour moi à chaque fois. À partir de ce point, vous pouvez commencer à lancer L'application à partir D'Android Studio à nouveau.

EDIT: avant ce que j'ai dit ci-dessus Allez à Gestionnaire des tâches et tuer tous les processus cmd.exe et conhost.exe (ou juste celui dans lequel aapt s'est coincé). Sinon aapt s'écraserait à partir de Maintenant lors de son lancement depuis la ligne de commande avec la fameuse erreur -1073741819 .

3
répondu Eugen Pechanec 2014-10-21 09:46:30

j'ai eu le même problème aujourd'hui avec Android Studio sur un nouvel appareil virtuel. Il semblait que j'avais téléchargé l'image x86_64 , recréant la VD avec l'équivalent x86 image corrigé.

Je m'attendais à obtenir un INSTALL_FAILED_NO_MATCHING_ABIS dans ce cas mais d'une manière ou d'une autre j'étais coincé avec INSTALL_FAILED_DEXOPT

3
répondu dvkch 2018-06-15 12:27:03

j'ai fait désinstaller l'application et J'ai quand même eu L'erreur INSTALL_FAILED_DEXOPT. Si vous travaillez avec Android Studio / gradle: gradle propre a fait le tour pour moi, Acclamation.

2
répondu JacksOnF1re 2014-11-07 12:24:00

j'ai eu la même erreur et je l'ai corrigée en augmentant la taille du stockage interne.

le stockage interne a d'abord été réglé à 32Mo(je sais), puis j'ai installé quelques APK dessus, ce qui avait laissé moins d'espace que ce qui était nécessaire pour l'installation.

2
répondu binRAIN 2014-12-05 05:17:03

dans la construction.gradle changement compilé et construire à la dernière version. et il a travaillé pour moi.

================

android {
    compileSdkVersion 22
    buildToolsVersion "22"
2
répondu riseres 2015-03-18 18:25:06

j'ai eu ce problème en essayant d'installer sur des périphériques 2.3 (très bien sur 4.0.3). Il a fini par être due à un projet lib que j'utilisais avait plusieurs pots qui étaient pour les choses déjà dans android par exemple HttpClient et XML parsers etc En regardant logcat , j'ai trouvé ça en me disant qu'il sautait les cours parce qu'ils étaient déjà présents. Belle erreur originale inutile là!

1
répondu Dori 2013-10-18 11:31:00

j'ai fait tester cette erreur sur un vrai appareil. Effacer la mémoire cache/désinstaller, redémarrer tout n'a pas fonctionné pour moi, de supprimer le contenu du dossier de création a fait :) (Android studio)

1
répondu Gyroscope 2014-05-08 10:39:56

il n'y a pas de solution générique, vous devez trouver l'erreur signalée sur votre Logcat pour pouvoir la comprendre. Parfois, c'est une classe qui ne peut pas être "déxée" en raison d'une utilisation d'une classe non disponible sur L'API cible spécifiée par exemple. Ou peut-être une classe à laquelle vous faites référence dans votre code, mais la bibliothèque qu'il n'est pas emballé.

1
répondu Alécio Carvalho 2014-08-13 20:05:35

envisagez d'utiliser proguard pour rétrécir votre APK. J'ai le même problème si j'essaie d'installer un grand 25MB+ APK sur un vieux périphérique Samsung Galaxy Ace 2.3.6 sans rétrécir/optimiser le code avec proguard.

mode Jumbo et redémarrage de l'appareil ne fonctionne pas.

1
répondu slott 2014-10-01 08:42:30

dans mon cas, c'était un bug dans le plugin kotlin, version 1.1.51

https://youtrack.jetbrains.com/issue/KT-20034

cette erreur est apparue sur de vieux appareils (API 16).

a corrigé ceci en enlevant @Parcelize annotations et en les remplaçant par ce générateur de code: https://github.com/nekocode/android-parcelable-intellij-plugin-kotlin

1
répondu stillwaiting 2017-10-20 08:18:47

cela a semblé être lié à l'espace disque pour moi. Un émulateur nouvellement roulé 5.1 démarre avec une erreur "faible sur l'espace disque" - et en regardant les propriétés de l'émulateur, l'espace alloué par défaut pour le stockage interne est de 800 Mo qui semble faible.

Solution, donc était d'augmenter ce (je suis allé à 4GB). Curieusement l'émulateur démarre toujours avec le même avertissement d'espace disque, mais réinitialisation aux valeurs d'usine (Paramètres --> Sauvegarde et de Restauration à l'intérieur de l'émulateur) résolu entièrement pour je.

Juste un peu bizarre que cela ne fonctionne pas hors de la boîte avec les paramètres par défaut.

1
répondu HughHughTeotl 2018-09-13 20:38:52

j'ai eu ce problème quand il y avait quelques caractères Unicode dans Mes noms de méthode (en raison, de toutes choses, copier/coller à partir d'un fichier powerpoint) que Dalvik n'a pas aimé. Vous pouvez le voir en regardant la sortie Logcat tout en essayant d'installer L'APK.

C'était sur un vrai appareil.

0
répondu thoutbeckers 2013-06-26 07:30:26

Résolu en corrigeant l'Heure de la date sur le téléphone (c'était une date par défaut 01.01.1980), et le nettoyage du projet.

0
répondu No Name 2014-10-14 15:08:34

j'avais changé ma version d'android version 4 Prise en charge pour sdk 21 et avait cette erreur. Je suis donc retourné à la version de support pour l'ancienne version (avant 21) et ça a fonctionné. L'erreur ne se produisait que dans android 2.3

0
répondu Cícero Moura 2014-11-04 00:50:57

j'ai rencontré ce problème lorsque j'ai essayé de mettre à jour les nouveaux outils de construction 24.0.1. La connexion Internet a été perdue et les outils n'a pas été téléchargé avec succès, après que j'ai eu cette erreur et a passé beaucoup de temps à essayer de le résoudre. Mais quand j'ai mis à jour avec succès construire des outils-Problème résolu. Bonne chance.

0
répondu Alex Perevozchykov 2014-12-16 22:51:46

assurez-vous que vous avez tous les SDK dont vous avez besoin installé et Gradle cible la bonne version.

j'avais le même problème, mais il a été causé par la mise à jour de mon appareil à Android 5.0 et puis oublier de changer toutes mes constructions pour le cibler.

0
répondu user4474925 2015-01-20 16:41:07

j'ai fait face à ce problème parce qu'il y avait un certain décalage avec les bibliothèques que j'utilisais

résolu par mise à jour du sdk android au plus tard. Vérifiez le gestionnaire de SDK si il montre la mise à jour puis entièrement mettre à jour, nettoyer votre projet et puis exécuter, il fonctionnera:)

0
répondu Sonali8890 2015-07-06 12:59:26

peut-être que cela aidera:

  1. Effacer les données de l'utilisateur avant de lancer l'émulateur
  2. nettoyer le projet
  3. supprimer les dépendances qui ne sont pas nécessaires....
0
répondu Rajat Sawant 2015-09-12 18:29:30

l'erreur se résout en supprimant le dossier de compilation de votre application principale.Il va se recréer à nouveau.

0
répondu Prateek 2015-12-09 08:25:15

comme cela semble être un problème que j'ai moi-même rencontré à plusieurs reprises et cette fois aucune des solutions partagées ne m'a aidé, je vais encore poster ce qui m'a aidé personnellement et ce que je crois peut aider quelqu'un d'autre à l'avenir:

allez dans le répertoire de votre projet et trouvez le fichier build/intermediates/dex-cache/cache. Le supprimer - comme son nom l'indique, c'est un fichier DEX en cache qui peut être dépassé si vous avez modifié les dépendances de votre projet, la version des outils de construction, etc.

0
répondu Sosoel 2016-04-09 19:54:53