2013-05-11 108 views
0

我今天更新了我的應用程序,之後我得到了12個崩潰報告。正如我所看到的,我的主要活動課都是潮流。這裏有幾個:java.lang.ClassNotFoundException ....再一次

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{rs.androidaplikacije.zastaveigradovi/rs.androidaplikacije.zastaveigradovi.MainActivity}: java.lang.ClassNotFoundException: rs.androidaplikacije.zastaveigradovi.MainActivity in loader dalvik.system.PathClassLoader[/data/app/rs.androidaplikacije.zastaveigradovi-1.apk] 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3687) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: rs.androidaplikacije.zastaveigradovi.MainActivity in loader dalvik.system.PathClassLoader[/data/app/rs.androidaplikacije.zastaveigradovi-1.apk] 
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565) 
... 11 more 


java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{rs.androidaplikacije.zastaveigradovi/rs.androidaplikacije.zastaveigradovi.MainActivity}: java.lang.ClassNotFoundException: rs.androidaplikacije.zastaveigradovi.MainActivity in loader dalvik.system.PathClassLoader[/data/app/rs.androidaplikacije.zastaveigradovi-1.apk] 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1664) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1766) 
at android.app.ActivityThread.access$1500(ActivityThread.java:156) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:994) 
at android.os.Handler.dispatchMessage(Handler.java:130) 
at android.os.Looper.loop(SourceFile:351) 
at android.app.ActivityThread.main(ActivityThread.java:3833) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:538) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: rs.androidaplikacije.zastaveigradovi.MainActivity in loader dalvik.system.PathClassLoader[/data/app/rs.androidaplikacije.zastaveigradovi-1.apk] 
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:271) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:582) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:542) 
at android.app.Instrumentation.newActivity(Instrumentation.java:1056) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1656) 
... 11 more 

這是我的主要活動。我根本沒有改變任何東西。

public class MainActivity extends SwarmActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     preload(this, 5259, "0d2ab20831857f730c1c362705970d1f"); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     Thread splashTimer = new Thread(){ 
      public void run(){ 
       try { 
        sleep(2000); 
        Intent menuIntent = new Intent("rs.androidaplikacije.zastaveigradovi.MENU"); 
        startActivity(menuIntent); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       finally{ 
        finish(); 
       } 
      } 
     }; 
     splashTimer.start(); 
    } 

    private void preload(MainActivity mainActivity, int i, String string) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

} 

一切正常,我的手機上,但是今天我得到了很多的崩潰報告。有人能告訴我有什麼問題嗎?

+0

你能發佈清單文件嗎? – Geros 2013-05-12 00:24:36

+0

SwarmActivity的完整繼承是什麼?如果任何超類取決於某人的電話上不存在的類,則會拋出此錯誤。如果他們只是將**引用到另一個類中,則該類無法加載。 (最壞的情況:你可能不得不通過反射使用動態類加載)。 – 2013-05-12 01:17:28

+0

我只是導入com.swarmconnect.SwarmActivity ;.它是在線排行榜服務。 – marjanbaz 2013-05-12 01:33:29

回答

2

我認爲問題在於您的應用程序「打包」。例外情況是說類加載器在嘗試加載它時找不到rs.androidaplikacije.zastaveigradovi.MainActivity類。您沒有更改代碼的事實可能不相關。

爲什麼它可以在你的手機上運行,​​而不是在其他人的手機上運行,​​不太清楚。但它可能是這樣的:

  • 您在手機上運行的版本與其他人從應用商店(或任何地方)獲得的版本不同。
  • 你的手機上有其他東西,其他的東西是有什麼不同。

(根本原因也可能早於報告中的異常。在真正的Java平臺上,類加載和初始化可能會失敗,從而使某些類處於不可驗證的狀態。可能會導致後面的東西無法加載,在這種情況下,後面的異常不會告訴你問題的真正原因,你必須查看更早的異常堆棧跟蹤來尋找真正的原因,但我不認爲那就是這裏發生的事情。)

+0

那麼...該怎麼辦? – marjanbaz 2013-05-12 01:42:58

+0

當我在Eclipse上安裝它時,它工作正常,當我在Play Store上安裝它時,它在啓動時崩潰。 – marjanbaz 2013-05-12 01:48:31

+0

至少你現在可以重現這個問題! – 2013-05-12 05:48:41