2013-05-11 52 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