2014-11-05 9 views
5

Sto sviluppando un'app utilizzando Fused Location Provider. Ricevo un errore "Sfortunatamente, l'appname è stato arrestato" quando tento di eseguire il programma. Eclipse non mostra che ci sono errori ma ci sono errori nel logcat. Non so come risolverli. Ho scaricato il codice sorgente here. Per favore aiutami a capire cosa ho fatto di sbagliato?java.lang.RuntimeException: Impossibile creare un'istanza di attività ComponentInfo {...}: java.lang.ClassNotFoundException: Impossibile trovare la classe

LogCat

11-05 08:31:41.641: E/AndroidRuntime(795): FATAL EXCEPTION: main 
11-05 08:31:41.641: E/AndroidRuntime(795): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.kpbird.fusedlocation/com.kpbird.fusedlocation.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity" on path: DexPathList[[zip file "/data/app/com.kpbird.fusedlocation-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.kpbird.fusedlocation-1, /system/lib]] 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.os.Looper.loop(Looper.java:137) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread.main(ActivityThread.java:5103) 
11-05 08:31:41.641: E/AndroidRuntime(795): at java.lang.reflect.Method.invokeNative(Native Method) 
11-05 08:31:41.641: E/AndroidRuntime(795): at java.lang.reflect.Method.invoke(Method.java:525) 
11-05 08:31:41.641: E/AndroidRuntime(795): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
11-05 08:31:41.641: E/AndroidRuntime(795): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-05 08:31:41.641: E/AndroidRuntime(795): at dalvik.system.NativeStart.main(Native Method) 
11-05 08:31:41.641: E/AndroidRuntime(795): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity" on path: DexPathList[[zip file "/data/app/com.kpbird.fusedlocation-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.kpbird.fusedlocation-1, /system/lib]] 
11-05 08:31:41.641: E/AndroidRuntime(795): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
11-05 08:31:41.641: E/AndroidRuntime(795): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
11-05 08:31:41.641: E/AndroidRuntime(795): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
11-05 08:31:41.641: E/AndroidRuntime(795): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) 
11-05 08:31:41.641: E/AndroidRuntime(795): ... 11 more 
+0

post your AndroidManifest.xml – Jorgesys

risposta

2

Dal momento che l'eccezione è:

ClassNotFoundException: Didn't find class "com.kpbird.fusedlocation.MainActivity" 

nella vostra AndroidManifest.xml aggiungere il pacchetto completo sono stati la vostra attività si trova:

<activity 
       android:name="com.kpbird.fusedlocation.MainActivity" 

o essere sicuri di avere a nome del pacchetto corretto definito:

package="com.kpbird.fusedlocation" 

Penso che hai digitato in modo errato il pacchetto della tua applicazione in qualche luogo del tuo codice!

enter image description here

+0

Ho provato questo, ma ancora non funziona. Sto sviluppando un progetto per determinare la posizione delle persone nelle chiamate di emergenza. Quindi è molto importante per me. Potresti provare questo codice sorgente sul tuo computer per capire il problema? – user3908478

+0

sì, ho appena ricevuto la mia eclissi ora devo solo aggiungere il riferimento della libreria dei servizi di google play: |, penso che tu abbia digitato erroneamente il pacchetto in qualche posto del tuo codice! :( – Jorgesys

+1

Grazie per avermi aiutato :). Sto ricontrollando il mio codice. Spero di trovare il problema. – user3908478

0

Lo stesso problema si verifica mentre anche in AndroidManifest riferimento con:

<meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

e hardcoded valore errato google_play_services_version.

-5

Dopo aver trascorso molto tempo su questo problema ho finalmente trovato la soluzione.

Basta rimuovere setContentView(R.layout.LAYOUT_NAME); dal costruttore della classe e inserirlo nel metodo onCreate della classe.

100% sarà risolto.

1

Questo è accaduto quando ho spostato un'app da una directory a un'altra una volta, se @Jorgesys's solution non aiuta, prendere in considerazione la ridenominazione del modulo e la pulizia del progetto. Nota: stavo usando Android Studio.

Problemi correlati