2014-11-05 67 views
5

我正在開發一個使用熔合位置提供程序的應用程序。當我嘗試運行程序時,出現錯誤「不幸的是,appname已停止」。 Eclipse不顯示有任何錯誤,但logcat中有錯誤。我不知道如何解決它們。我下載了源代碼here。請幫我理解我做錯了什麼?java.lang.RuntimeException:無法實例化活動ComponentInfo {...}:java.lang.ClassNotFoundException:找不到類

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

發佈您的AndroidManifest.xml – Jorgesys 2014-11-05 23:06:52

回答

2

由於您的例外是:

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

到您AndroidManifest.xml添加完整的包是你的活動位於:

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

或務必要正確的包名定義:

package="com.kpbird.fusedlocation" 

我想你在你的代碼的某個地方錯誤地鍵入了你的應用程序的包裝!

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

和硬編碼錯誤google_play_services_version值:

enter image description here

+0

我試過這個,但它仍然無法正常工作。我正在開發一個項目來確定人們在緊急呼叫中的位置。所以這對我來說非常重要。你能否在電腦上試試這個源代碼來理解問題? – user3908478 2014-11-05 23:17:24

+0

是的,我現在得到了我的eclipse,現在我只需要添加谷歌播放服務庫的參考:|,我認爲你輸入錯誤的包在一些地方的代碼! :( – Jorgesys 2014-11-05 23:23:50

+1

謝謝你幫助我:)。我正在檢查我的代碼。我希望找到問題。 – user3908478 2014-11-05 23:36:55

0

同樣的問題,包括在AndroidManifest參考用時發生。

-5

在這個問題上花了很多時間後,我終於得到了解決方案。

只需從類 的構造函數中刪除setContentView(R.layout.LAYOUT_NAME);,並將其放入類的onCreate方法。

100%將被解決。

1

這發生在我將應用程序從一個目錄移動到另一個目錄時,如果@Jorgesys's solution不起作用,請考慮重命名模塊並清理項目。注意:我正在使用Android Studio。

相關問題