2 votes

Classe non trouvée Exception "java.lang.ClassNotFoundException" Android

J'ai fait des recherches assez poussées sur ce sujet et je n'ai pas réussi à trouver une bonne solution. Voici mon manifeste et le code d'erreur de la console Google developer. Je reçois environ 3-4 crashs "signalés" par semaine sur 400-500 téléchargements. Je suis assez nouveau dans le développement Android et j'espère que l'un d'entre vous pourra m'indiquer mon erreur ! Peut-être que c'est le fait que ma "classe principale" et mon nom de paquet sont les mêmes, mais il semble étrange que ce soit un crash aléatoire. Merci d'avance !

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.matt.android.adds.freeHistory"
      android:installLocation="preferExternal"
      android:versionName="4.11" android:versionCode="15">
    <uses-sdk android:minSdkVersion="3" />
    <uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission> 
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:anyDensity="false" />

    <application android:icon="@drawable/flag" android:label="@string/app_name">
        <activity android:name=".freeHistory"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".dateClass"></activity>
        <activity android:name=".presClass"></activity>
        <activity android:name=".presInfo"></activity>
        <activity android:name=".flagClass"></activity>
        <activity android:name=".flagInfo"></activity>
        <activity android:name=".starSpangledBanner"></activity>
        <activity android:name=".pledge"></activity>
        <activity android:name=".impDocs"></activity>
        <activity android:name=".viewDoc"></activity>
        <activity android:name=".articlesOTC"></activity>
        <activity android:name=".viewArticleOTC"></activity>
        <activity android:name=".constitution"></activity>
        <activity android:name=".preamble"></activity>
        <activity android:name=".consArtOne"></activity>
        <activity android:name=".displayConsArticle"></activity>
        <activity android:name=".billOfRightsView"></activity>
        <activity android:name=".billOfRights"></activity>
        <activity android:name=".randomFact"></activity>
        <activity android:name=".amendView"></activity>
        <activity android:name=".amendClass"></activity>
        <activity android:name=".stateInfo"></activity>
        <activity android:name=".theStates"></activity>
        <activity android:name="com.mobfox.sdk.InAppWebView"/>
        <activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboardHidden|orientation"/>

    </application>
</manifest>

java.lang.RuntimeException: Unable to instantiate activity     ComponentInfo{com.matt.android.adds.freeHistory/com.matt.android.adds.freeHistory.freeHisto    ry}: java.lang.ClassNotFoundException: com.matt.android.adds.freeHistory.freeHistory     in loader     dalvik.system.PathClassLoader[/mnt/asec/com.matt.android.adds.freeHistory-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1738)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
at android.app.ActivityThread.access$1500(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4196)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException:     com.matt.android.adds.freeHistory.freeHistory in loader dalvik.system.PathClassLoader[/mnt    /asec/com.matt.android.adds.freeHistory-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1730)
... 11 more

0voto

Stephen C Points 255558

Une possibilité est que l'initialisation des classes a échoué à charger précédemment . Si la première tentative d'initialisation d'une classe échoue avec une exception non gérée, la JVM ne tentera pas de l'initialiser à nouveau. Au lieu de cela, la JVM lancera un ClassNotFoundException pour la classe qui n'a pas été initialisée.

Recherchez dans le logcat une entrée antérieure signalant une exception non attrapée pendant l'initialisation de la classe / statique.

0voto

Harsh Dev Chandel Points 569

Il suffit de nettoyer votre projet ou de redémarrer l'eclipse j'ai eu le même problème mais le nettoyage du projet a fait disparaître les erreurs

0voto

ahmed_khan_89 Points 679

Essayez de définir le nom de chaque activité par son chemin : Supposons que vos activités soient dans un paquet nommé "com.exemple.activities". Dans votre manifeste, mettez à jour comme ceci :

<activity android:name="com.example.activities.activityname" ></activity>

Exemple :

<activity android:name="com.example.activities.dateClass"></activity>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X