2013-05-05 20 views
0

前段時間我實現了一個可用的BackupAgent,但現在該應用程序使用以下LogCat崩潰。事情是,它在一段時間內運行良好,而BackupAgent.java實際上是在maturaarbeit.nicola_pfister.marks.backup包中,而不是在LogCat所說的包中。BackupAgent上的Android ClassNotFoundException(錯誤的程序包名稱)

05-05 14:26:52.516: E/ActivityThread(1553): Agent threw during creation: java.lang.ClassNotFoundException: maturaarbeit.nicola_pfister.marks.BackupAgent 
05-05 14:27:08.797: D/AndroidRuntime(1553): Shutting down VM 
05-05 14:27:08.797: W/dalvikvm(1553): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
05-05 14:27:08.906: E/AndroidRuntime(1553): FATAL EXCEPTION: main 
05-05 14:27:08.906: E/AndroidRuntime(1553): java.lang.RuntimeException: Unable to create BackupAgent maturaarbeit.nicola_pfister.marks.BackupAgent: java.lang.ClassNotFoundException: maturaarbeit.nicola_pfister.marks.BackupAgent 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.app.ActivityThread.handleCreateBackupAgent(ActivityThread.java:2309) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.app.ActivityThread.access$2300(ActivityThread.java:130) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1336) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.os.Looper.loop(Looper.java:137) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at dalvik.system.NativeStart.main(Native Method) 
05-05 14:27:08.906: E/AndroidRuntime(1553): Caused by: java.lang.ClassNotFoundException: maturaarbeit.nicola_pfister.marks.BackupAgent 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  at android.app.ActivityThread.handleCreateBackupAgent(ActivityThread.java:2280) 
05-05 14:27:08.906: E/AndroidRuntime(1553):  ... 10 more 
05-05 14:32:42.866: E/Trace(1570): error opening trace file: No such file or directory (2) 
05-05 14:32:42.936: E/ActivityThread(1570): Agent threw during creation: java.lang.ClassNotFoundException: backup.BackupAgent 
05-05 14:32:42.936: D/AndroidRuntime(1570): Shutting down VM 
05-05 14:32:42.936: W/dalvikvm(1570): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
05-05 14:32:42.956: E/AndroidRuntime(1570): FATAL EXCEPTION: main 
05-05 14:32:42.956: E/AndroidRuntime(1570): java.lang.RuntimeException: Unable to create BackupAgent backup.BackupAgent: java.lang.ClassNotFoundException: backup.BackupAgent 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.app.ActivityThread.handleCreateBackupAgent(ActivityThread.java:2309) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.app.ActivityThread.access$2300(ActivityThread.java:130) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1336) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.os.Looper.loop(Looper.java:137) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at dalvik.system.NativeStart.main(Native Method) 
05-05 14:32:42.956: E/AndroidRuntime(1570): Caused by: java.lang.ClassNotFoundException: backup.BackupAgent 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  at android.app.ActivityThread.handleCreateBackupAgent(ActivityThread.java:2280) 
05-05 14:32:42.956: E/AndroidRuntime(1570):  ... 10 more 

因爲包似乎是我一直在尋找在manifest.xml錯誤的錯誤,但它似乎是確定對我說:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="maturaarbeit.nicola_pfister.marks" 
    android:versionCode="14" 
    android:versionName="1.4" android:installLocation="auto"> 
    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="17" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.android.vending.BILLING"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:logo="@drawable/ic_action_marks" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Holo.Light" 
     android:allowBackup="true" 
     android:backupAgent="BackupAgent"> 

     <activity 
      android:name=".Main" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:screenOrientation="portrait" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="Marks" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:screenOrientation="portrait" 
      > 
     </activity> 
     <activity android:name=".billing.Donate"></activity> 
     <meta-data android:name="com.google.android.backup.api_key" android:value="[censored]" /> 

    </application> 

</manifest> 

我一直在尋找谷歌相當一段時間沒有解決方案。即使從構建路徑中排除該類也是行不通的。備份代理永遠不會從任何會激怒我的班級中調用。

感謝您的時間和幫助。不要猶豫,要求提供更多信息。

+0

嘗試改變的'機器人值:從'BackupAgent' backupAgent'爲'.backup.BackupAgent' – luxer 2013-05-05 15:02:55

+0

@luxer現在說的java .lang.ClassNotFoundException:backup.BackupAgent – BlueHazard 2013-05-05 15:10:31

+0

沒有忘記「。」在值的前面?否則,請嘗試'maturaarbeit.nicola_pfister.marks.backup.BackupAgent' – luxer 2013-05-05 15:15:25

回答

0

它似乎是在Eclipse中的一些錯誤,因爲重新啓動計算機後,它再次工作。有時Eclipse會產生無法解釋的錯誤,這些錯誤只能通過重新啓動Eclipse甚至整個計算機來解決。

+0

感謝您的幫助。我認爲問題是通過重新啓動電腦解決的。 – BlueHazard 2013-05-05 17:37:36

0

更換

android:backupAgent="BackupAgent"> 

android:backupAgent="maturaarbeit.nicola_pfister.marks.backup.BackupAgent"> 

應該解決您的問題。只需複製並粘貼。

0

查殺 「亞行」 過程中所做的把戲我

在Windows上:

  • 去任務管理器
  • 發現 「adb.exe」
  • 選擇並單擊「結束任務「

在Linux上:

  • 在shell中找到進程ID:ps -ef | grep的亞行
  • 在shell:殺-9
0

在我的情況下,問題是由ProGuard的修剪BackupAgent類引起的。下面的添加規則到proguard-rules.pro解決問題:

-keep class com.myapp.backup.BackupAgent { *; } 
相關問題