java.lang.ClassNotFoundException sur mon application android, mais je n'ai aucune idée de pourquoi
J'ai essayé de démarrer avec Android de programmation pour un certain temps maintenant. Je suis principalement un .NET développeur sans Java expérience de 8 ans (de l'université).
Je peux compiler et d'exécuter des échantillons, aucun problème, mais le moment j'essaie de le renommer mon colis/classe il échoue. Je crois que j'ai mis à jour le manifeste et triple vérifié (Copié et collé le nom de, sélectionnés avec Eclipse), mais il échoue toujours avec un java.lang.ClassNotFoundException:
12-02 09:12:21.088: ERROR/AndroidRuntime(233): Uncaught handler: thread main exiting due to uncaught exception
12-02 09:12:21.178: ERROR/AndroidRuntime(233): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.anddev.cheesemp.helloandworld/org.anddev.cheesemp.helloandworld.HelloAndEngine}: java.lang.ClassNotFoundException: org.anddev.cheesemp.helloandworld.HelloAndEngine in loader dalvik.system.PathClassLoader@43d0c0d0
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.os.Handler.dispatchMessage(Handler.java:99)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.os.Looper.loop(Looper.java:123)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread.main(ActivityThread.java:4363)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at java.lang.reflect.Method.invokeNative(Native Method)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at java.lang.reflect.Method.invoke(Method.java:521)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at dalvik.system.NativeStart.main(Native Method)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): Caused by: java.lang.ClassNotFoundException: org.anddev.cheesemp.helloandworld.HelloAndEngine in loader dalvik.system.PathClassLoader@43d0c0d0
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
12-02 09:12:21.178: ERROR/AndroidRuntime(233): ... 11 more
Manifeste est ici:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0" package="org.anddev.cheesemp.helloandworld">
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="org.anddev.cheesemp.helloandworld.HelloAndEngine">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" \>
</manifest>
Définition de la classe est ici:
package org.anddev.cheesemp.helloandworld;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.scene.background.ColorBackground;
import org.anddev.andengine.entity.text.Text;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.opengl.font.Font;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.ui.activity.BaseGameActivity;
import org.anddev.andengine.util.HorizontalAlign;
import android.graphics.Color;
import android.graphics.Typeface;
/**
* @author Nicolas Gramlich
* @since 11:54:51 - 03.04.2010
*/
public class HelloAndEngine extends BaseGameActivity
Cet échantillon est de AndEngine, mais j'ai eu le même problème avec tous les échantillons-je modifier. Je ne peux pas aider mais sentir que j'ai raté quelque chose et rien, j'ai trouvé de la recherche a contribué à.
Tous les conseils apprécié!
OriginalL'auteur cheesemp | 2010-12-02
Vous devez vous connecter pour publier un commentaire.
De l'essayer.
Vous n'avez pas besoin du nom de classe entièrement qualifié. Aussi, si vous travaillez avec Eclipse et renommer un package aller à
Project
→Clean
et laissez-le nettoyage de votre projet, réparer des références et ainsi de suite si quelque chose est cassé.Exactement. Pourquoi aurait-il besoin de le nom complet du paquet? Il n'a tout simplement pas.
Vrai, il est préférable d'utiliser seulement la période. Mais sera-ce de résoudre le problème? Le problème est que le chargeur de classe ne peut pas trouver la classe org.anddev.cheesemp.helloandworld.HelloAndEngine, qui SEMBLE être présent.
Vrai. J'ai oublié de mentionner qu'un projet de nettoyage devrait aider.
Wow, je n'ai pas compris la question. Oui, le changement de nom est mauvais juju. Le nettoyage devrait faire l'affaire.
OriginalL'auteur Octavian Damiean
C'est un bug dans eclipse android outils
http://code.google.com/p/android/issues/detail?id=2824
À Fix -> clic Droit sur le projet d'aller à Android outils -> Renommer package d'application..
Et également de vérifier AndroidManifest.xml si elle mis à jour correctement, dans mon cas, il n'a pas, ce qui devrait résoudre ce problème
OriginalL'auteur vamsu