Android应用随机崩溃(java.lang.NoClassDefFoundError)

时间:2015-10-20 19:16:29

标签: java android android-studio android-asynctask

我的应用程序不断与网络通信,当我第一次启动它时,它运行得很好。 但有一段时间我最小化应用程序或在不同的应用程序之间切换,然后当我打开我的应用程序时它会崩溃。 这是日志:

  

10-19 16:53:12.872:E / AndroidRuntime(15318):处理:com.aleph.view,PID:15318

     

10-19 16:53:12.872:E / AndroidRuntime(15318):java.lang.NoClassDefFoundError:com.aleph.model.MessageTypes

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at com.al + nuListActivity.prepareURL(MainMenuListActivity.java:435)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at com.aleph.view.abstractActivity.TemplateListActivity.processThread(TemplateListActivity.java:148)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at    com.aleph.controller.MainMenuAction.ListItemClick(MainMenuAction.java:168)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at com.aleph.view.myTrip.MainMenuListActivity.onListItemClick(MainMenuListActivity.java:109)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.app.ListActivity $ 2.onItemClick(ListActivity.java:319)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.widget.AdapterView.performItemClick(AdapterView.java:300)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.widget.AbsListView.performItemClick(AbsListView.java:1186)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.widget.AbsListView $ PerformClick.run(AbsListView.java:3099)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.widget.AbsListView $ 3.run(AbsListView.java:4046)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.os.Handler.handleCallback(Handler.java:739)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):在android.os.Handler.dispatchMessage(Handler.java:95)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at   android.os.Looper.loop(Looper.java:135)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at    android.app.ActivityThread.main(ActivityThread.java:5376)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at java.lang.reflect.Method.invoke(Native Method)   10-19 16:53:12.872:E / AndroidRuntime(15318):at java.lang.reflect.Method.invoke(Method.java:372)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:908)

     

10-19 16:53:12.872:E / AndroidRuntime(15318):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)

其次是:

  

10-19 16:54:08.802:E / AndroidRuntime(16425):处理:com.aleph.view,    PID:16425

     

10-19 16:54:08.802:E / AndroidRuntime(16425):java.lang.RuntimeException:无法启动活动   ComponentInfo {com.aleph.view / com.aleph.view.myTrip.LoginActivity}:   java.lang.NullPointerException:尝试调用虚方法   ' java.lang.String java.lang.String.trim()'在空对象引用上

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2345)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread.access $ 800(ActivityThread.java:155)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1323)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.os.Handler.dispatchMessage(Handler.java:102)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.os.Looper.loop(Looper.java:135)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread.main(ActivityThread.java:5376)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    java.lang.reflect.Method.invoke(Native Method)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    java.lang.reflect.Method.invoke(Method.java:372)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:908)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):引起:    java.lang.NullPointerException:尝试调用虚方法    ' java.lang.String java.lang.String.trim()'在空对象引用上

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at com.aleph.model.phoneHome.PhoneHomeValidator.checkMobileData(PhoneHomeValidator.java:124)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at com.aleph.model.phoneHome.PhoneHomeValidator.primeMobileForValidation(PhoneHomeValidator.java:54)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    com.aleph.view.myTrip.LoginActivity.onCreate(LoginActivity.java:70)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.Activity.performCreate(Activity.java:6021)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):at    android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)

     

10-19 16:54:08.802:E / AndroidRuntime(16425):... 10更多

长期以来试图解决这个问题。请帮忙

2 个答案:

答案 0 :(得分:1)

这是来自三星设备吗?我认为三星对其本机代码编译器优化或其他东西过于激进。我使用Splunk MINT接收远程堆栈跟踪,我在三星设备上看到的崩溃类型有三种类似于每几千次运行中的一种:

  • 进程正在尝试以用户-2
  • 执行某些操作
  • 应用程序没有明确的许可
  • 随机莫名的NoClassDefFoundError

答案 1 :(得分:0)

要做的事情:

•将以下行添加到proguard配置文件中(通常称为proguard-android.txt或proguard-rules.pro):

-keep class MessageTypes

-keep class com.aleph.model.MessageTypes

•刷新您的构建

•再次构建应用

让我知道这是否有效,如果没有,我会进一步研究它。