NoClassDefFoundError pour OkHttpClient
Après l'ajout de l'facebook de la dépendance dans gradle j'obtiens cette erreur d'exécution:
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
Veuillez noter que je suis aussi à l'aide de okhttp:
compile 'com.squareup.okhttp:okhttp:2.5.0'
et journal d'erreur est:
E/AndroidRuntime: FATAL EXCEPTION: Thread-109754
Process: com.venkat.project, PID: 4453
java.lang.NoClassDefFoundError: com.squareup.okhttp.internal.Util
at com.squareup.okhttp.OkHttpClient.<clinit>(OkHttpClient.java:57)
at com.venkat.project.http.MyHTTPThread.run(MyHTTPThread.java:127)
at com.venkat.project.http.MyHTTPThread.run(MyHTTPThread.java:61)
at java.lang.Thread.run(Thread.java:841)
02-23 18:11:02.729 4453-4573/com.venkat.project I/dalvikvm: Rejecting re-init on previously-failed class Lcom/squareup/okhttp/OkHttpClient; v=0x0
Note: j'obtiens cette erreur sur Samsung mobile 4.4 mais sur l'émulateur et sur moto g 5.0
il fonctionne.
source d'informationauteur Venkat
Vous devez vous connecter pour publier un commentaire.
Vous obtenez
NoClassDefFoundError pour OkHttpClient
Citation de NoClassDefFoundError
Vous devez utiliser
Après que vous pouvez obtenir cette erreur fini avec sortie non nulle valeur 2
Puis
Ajouter multiDexEnabled vrai
Appel
implementation'com.android.support:multidex:1.0.2'
Vous pouvez appeler dernière version
Puis
Clean and Re-Build & Sync
Votre Projet . Espérons que cette aide .La dernière version de Piccasso utiliser une ancienne version de Okhttp, vous devez utiliser une nouvelle dépendance
Exemple:
Vous devez activer multidex pour résoudre ce problème.
Dans la construction.gradle
Dans votre projet de classe d'Application
Voici le lien officiel
[http://developer.android.com/tools/building/multidex.html%5D.
Semble que vous avez activé proguard.
Si vous n'avez pas besoin de proguard dans votre application, alors vous pouvez le désactiver dans votre construction.gradle(app)
Et si vous avez besoin de proguard dans votre application puis suivez ce lien où M. Jake Wharton ont réglé ce problème.
https://developer.android.com/tools/building/multidex.html
Multidex support pour Android 5.0 et supérieur
Multidex le support avant de Android 5.0
Essayez d'ajouter ce
Dans votre manifeste, ajouter le MultiDexApplication classe à partir de la multidex bibliothèque de prise en charge de l'application de l'élément.
Alternative, Si votre application s'étend la classe Application, vous pouvez remplacer la attachBaseContext() la méthode et l'appel MultiDex.installer(ce) afin de permettre à multidex.
Enfin, vous devrez mettre à jour votre version.gradle fichier comme ci-dessous en ajoutant multiDexEnabled vrai :
J'espère que ça va vous aider.