2013-11-27 95 views
0

我已完成並設法安裝該應用程序(我正在學習一個教程),但是在模擬器或真實設備上運行它時,它給了我錯誤消息,不幸的是,停止。不幸的是,「appname」已停止

登錄貓

11-27 09:57:54.669: I/Process(1373): Sending signal. PID: 1373 SIG: 9 
11-27 09:58:08.729: D/AndroidRuntime(1397): Shutting down VM 
11-27 09:58:08.729: W/dalvikvm(1397): threadid=1: thread exiting with uncaught    exception (group=0xb3aa4b90) 
11-27 09:58:08.899: E/AndroidRuntime(1397): FATAL EXCEPTION: main 
11-27 09:58:08.899: E/AndroidRuntime(1397): Process: com.davidgassner.plainolnotes, PID: 1397 
11-27 09:58:08.899: E/AndroidRuntime(1397): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.davidgassner.plainolnotes/com.davidgassner.plainolnotes.Quick_Note_Taker} : java.lang.ClassNotFoundException: Didn't find class "com.davidgassner.plainolnotes.Quick_Note_Taker" on path: DexPathList[[zip file "/data/app/com.davidgassner.plainolnotes-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.davidgassner.plainolnotes-2, /system/lib]] 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread.access$700(ActivityThread.java:135) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.os.Handler.dispatchMessage(Handler.java:102) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.os.Looper.loop(Looper.java:137) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread.main(ActivityThread.java:4998) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at java.lang.reflect.Method.invoke(Method.java:515) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at dalvik.system.NativeStart.main(Native Method) 
11-27 09:58:08.899: E/AndroidRuntime(1397): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.davidgassner.plainolnotes.Quick_Note_Taker" on path: DexPathList[[zip file "/data/app/com.davidgassner.plainolnotes-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.davidgassner.plainolnotes-2, /system/lib]] 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2093) 
11-27 09:58:08.899: E/AndroidRuntime(1397):  ... 11 more 

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.davidgassner.plainolnotes" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="13" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label=" Quick Note Taker" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="Quick_Note_Taker" 
     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=".NoteEditorActivity"/> 

</application> 

</manifest> 

誰能幫我找出這個問題的根源是什麼?如果需要其他東西,告訴我。

謝謝先進。

+0

Quick_Note_Taker是否在清單中定義爲Activity?你有沒有嘗試一個乾淨的和重建? – NigelK

+0

是的,它被定義爲一項活動。我已經嘗試了一次清理和重建。 – user3024404

+0

你是否在清單中添加了所有類? –

回答

0

您的清單(除其他外)定義了您的應用使用的Activates。其中一項活動將被標記爲啓動程序啓動的活動。在這種情況下,它是:

<activity 
    android:name="Quick_Note_Taker" 

因此,Android將嘗試實例化Quick_Note_Taker.java的實例。它會在您的源代碼中找到與APK類似的路徑:src/com/davidgassner/plainolnotes /。在Eclipse中,這與在Package Explorer中的ProjectName/src/com.davidgassner.plainolnotes /路徑下顯示的內容相同。

你說你沒有名爲Quick_Note_Taker.java的文件,因此出現這個錯誤。但是,您確實有一個名爲MainActivity.java的文件,它是您在創建新的Android應用程序項目時爲您創建的默認Activity類。在創建項目時,您可以/應該將其更改爲Quick_Note_Taker而不是MainActivity。但這不是什麼大不了的事。

您可以將MainActivity替換爲名爲Quick_Note_Taker的類文件。或者簡單(並且非常有效)的選項是將清單中的活動名稱從Quick_Note_Taker更改爲ActivityMain。

+0

謝謝soso了。有用 :) – user3024404