J'ai une application Android. Lorsque je lance ou débogue une application sur mon Eclipse, il fonctionne correctement, sans erreur, ni avertissements. Après, je reçois l'apk pour Google Play. Les utilisateurs obtiennent moins d'erreurs lorsqu'ils l'ont téléchargé à partir de Google Play Market. S'il vous plaît, aidez-moi, je n'ai pas pu résoudre ce problème. Il ne peut pas trouver certaines classes.
Ce sont des erreurs qui proviennent de la console du développeur;
Java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/JSONParser;
at com.versus.hit.yeni.Signin$CheckUser.<init>(Signin.Java:211)
at com.versus.hit.yeni.Signin$2.onClick(Signin.Java:121)
at Android.view.View.performClick(View.Java:4785)
at Android.view.View$PerformClick.run(View.Java:19858)
at Android.os.Handler.handleCallback(Handler.Java:739)
at Android.os.Handler.dispatchMessage(Handler.Java:95)
at Android.os.Looper.loop(Looper.Java:155)
at Android.app.ActivityThread.main(ActivityThread.Java:5696)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1028)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.JSONParser" on path: DexPathList[[Zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
... 12 more
Suppressed: Java.lang.ClassNotFoundException: com.versus.hit.yeni.JSONParser
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
... 13 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/JSONParser;
at com.versus.hit.yeni.Signup.parseJson(Signup.Java:384)
at com.versus.hit.yeni.Signup.onCreateView(Signup.Java:165)
at Android.support.v4.app.Fragment.performCreateView(Fragment.Java:1478)
at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.Java:927)
at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.Java:1104)
at Android.support.v4.app.BackStackRecord.run(BackStackRecord.Java:682)
at Android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.Java:1460)
at Android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.Java:440)
at Android.os.Handler.handleCallback(Handler.Java:739)
at Android.os.Handler.dispatchMessage(Handler.Java:95)
at Android.os.Looper.loop(Looper.Java:155)
at Android.app.ActivityThread.main(ActivityThread.Java:5696)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1028)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.JSONParser" on path: DexPathList[[Zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
... 16 more
Suppressed: Java.lang.ClassNotFoundException: com.versus.hit.yeni.JSONParser
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
... 17 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Java.lang.NoClassDefFoundError: Failed resolution of: Lcom/versus/hit/yeni/ACProgressFlower$Builder;
at com.versus.hit.yeni.Signin$CheckUser.onPreExecute(Signin.Java:236)
at Android.os.AsyncTask.executeOnExecutor(AsyncTask.Java:587)
at Android.os.AsyncTask.execute(AsyncTask.Java:535)
at com.versus.hit.yeni.Signin$2.onClick(Signin.Java:123)
at Android.view.View.performClick(View.Java:4785)
at Android.view.View$PerformClick.run(View.Java:19858)
at Android.os.Handler.handleCallback(Handler.Java:739)
at Android.os.Handler.dispatchMessage(Handler.Java:95)
at Android.os.Looper.loop(Looper.Java:155)
at Android.app.ActivityThread.main(ActivityThread.Java:5696)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1028)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.ACProgressFlower$Builder" on path: DexPathList[[Zip file "/data/app/com.versus.hit.yeni-1/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
... 14 more
Suppressed: Java.lang.ClassNotFoundException: com.versus.hit.yeni.ACProgressFlower$Builder
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
... 15 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Ceci est mon manifeste.
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.versus.hit.yeni"
Android:versionCode="5"
Android:versionName="1.2.2" >
<uses-sdk
Android:minSdkVersion="11"
Android:targetSdkVersion="22" />
<uses-permission Android:name="Android.permission.INTERNET"/>
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
<uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE"/>
<uses-permission Android:name="Android.permission.SYSTEM_ALERT_WINDOW" />
<application
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name" >
<activity Android:name="com.versus.hit.yeni.SplashActivity"
Android:windowSoftInputMode="adjustPan"
Android:screenOrientation="portrait"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action Android:name="com.versus.hit.yeni.MY_ACTION" />
<action Android:name="Android.intent.action.VIEW" />
<category Android:name="Android.intent.category.DEFAULT" />
<category Android:name="Android.intent.category.BROWSABLE" />
<data Android:scheme="versus" Android:Host="www.versushit.com" />
</intent-filter>
</activity>
<activity Android:name="com.versus.hit.yeni.MainActivity"
Android:windowSoftInputMode="adjustPan"
Android:screenOrientation="portrait"
Android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >
</activity>
<activity Android:name="com.versus.hit.yeni.SearchActivity"
Android:theme="@style/ACPLDialog" >
</activity>
<activity Android:name="com.versus.hit.yeni.PersonalPage"
Android:windowSoftInputMode="adjustPan"
Android:theme="@style/Theme.Sherlock.Light.DarkActionBar" >
</activity>
<activity Android:name="com.versus.hit.yeni.FollowActivity"
Android:theme="@style/ACPLDialog" >
</activity>
<activity
Android:name="com.versus.hit.yeni.ReportActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.REPORT" />
<category Android:name="Android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
Android:name="com.versus.hit.yeni.MailSender"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIL" />
<category Android:name="Android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
Android:name=".FacebookLoginActivity"
Android:screenOrientation="portrait"
Android:theme="@Android:style/Theme.Translucent.NoTitleBar" />
<activity
Android:name="com.facebook.LoginActivity"
Android:label="@string/app_name"
Android:theme="@Android:style/Theme.Translucent.NoTitleBar" />
<meta-data
Android:name="com.facebook.sdk.ApplicationId"
Android:value="@string/appid" />
</application>
J'ai fait face au même problème
Dans mon cas, cela se produit à cause d'une exécution instantanée, il suffit de le désactiver
Aller à :
Android Studio -> Fichier -> Paramètres -> Construire, exécuter, déployer -> Exécuter instantanément.
c'est dire -
Java.lang.ClassNotFoundException: Didn't find class "com.versus.hit.yeni.ACProgressFlower$Builder"
vérifiez si vous appelez s'il existe dans le dossier bin sur le même chemin ou si ce n'est pas le cas, essayez d'ajouter la même bibliothèque que @ahmad said
ou nettoyez le projet et exécutez-le à nouveau. NoClassDefFoundError
indique que le chargeur de classes ne peut pas trouver le fichier .class de la classe que vous essayez d'utiliser.
Désinstaller l'application
redémarrez votre téléphone
réinstaller l'application
Dans mon cas, cela se produit parce que je déplace l'emplacement du projet. Je supprime le paquet ".gradle" du module principal, puis je résous le problème.
Supprimez le dossier temporaire .gradle de votre dossier de projet.
Si vous ne faites rien dans votre projet mais attrapez ce problème, vous pourrez l'essayer. Android est nouveau pour moi, donc lorsque j'obtiens ce problème, j'efface tous les fichiers générés automatiquement, notamment .gradle
, .build
et autres par Android Studio. Ça marche! profitez de votre codage!
Veuillez relier vos bibliothèques correctement, vos bibliothèques ne sont pas compilées avec votre application. Si vous utilisez des bibliothèques tierces, assurez-vous de les copier dans le projet lors de leur liaison. Une capture d'écran de vos bibliothèques liées aiderait davantage.
Par ailleurs, essayez de passer à Android Studio, car il est bien meilleur qu'Eclipse pour gérer les bibliothèques.
J'ai résolu le mien en changeant
classpath 'com.Android.tools.build:gradle:2.0.0-beta2'
à
classpath 'com.Android.tools.build:gradle:1.3.0'
dans le fichier build.gradle. Je ne sais pas pourquoi cela résout le problème. Cela peut être un bug dans la version bêta.