我的应用程序一直在与网络通信,当我第一次启动它时它运行得很好。但过了一段时间,当我最小化应用程序或在不同的应用程序之间切换,然后当我打开我的应用程序它崩溃了。日志如下:
10-19 16:53:12.872: E/AndroidRuntime(15318): Process: 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): atcom.aleph.controller.MainMenuAction.ListItemClick (MainMenuAction.java: 168)
10-19 16:53:12.872: E/AndroidRuntime(15318): at com.aleph.view. mytrip . mainmenulistactivity . onlisttitemclick (MainMenuListActivity.java:109)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android. widgets . adapterview . performitemclick (AdapterView.java:300)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.widget.AbsListView.performItemClick(AbsListView.java:1186)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3099)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.widget.AbsListView$3.run(AbsListView.java:4046)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.os.Handler.handleCallback(Handler.java:739)
10-19 16:53:12.872: E/AndroidRuntime(15318): at android.os.Handler.dispatchMessage(Handler.java:95)
10-19 16:53:12.872: E/AndroidRuntime(15318): atandroid.os.Looper.loop (Looper.java: 135)
10-19 16:53:12.872: E/AndroidRuntime(15318): atandroid.app.ActivityThread.main (ActivityThread.java: 5376)
10-19 16:53:12.872: E/AndroidRuntime(15318): at java.lang.reflect.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): Process: com.aleph.view,PID: 16425
10-19 16:54:08.802: E/AndroidRuntime(16425): java.lang.RuntimeException: cannot to start activityComponentInfo {com.aleph.view/com.aleph.view.myTrip.LoginActivity}:nullpointerexception:尝试调用虚方法'java.lang.String java.lang.String.trim()'上的空对象引用
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread.performLaunchActivity (ActivityThread.java: 2345)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread.handleLaunchActivity (ActivityThread.java: 2405)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread.access 800美元(ActivityThread.java: 155)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread H.handleMessage美元(ActivityThread.java: 1323)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.os.Handler.dispatchMessage (Handler.java: 102)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.os.Looper.loop (Looper.java: 135)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread.main (ActivityThread.java: 5376)
10-19 16:54:08.802: E/AndroidRuntime(16425): atjava.lang.reflect.Method。调用(本机方法)
10-19 16:54:08.802: E/AndroidRuntime(16425): atjava.lang.reflect.Method.invoke (Method.java: 372)
10-19 16:54:08.802: E/AndroidRuntime(16425): atcom.android.internal.os.ZygoteInit MethodAndArgsCaller.run美元(ZygoteInit.java: 908)
10-19 16:54:08.802: E/AndroidRuntime(16425): atcom.android.internal.os.ZygoteInit.main (ZygoteInit.java: 703)
10-19 16:54:08.802: E/AndroidRuntime(16425): Caused by: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): atcom.aleph.view.myTrip.LoginActivity.onCreate (LoginActivity.java: 70)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.Activity.performCreate (Activity.java: 6021)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.Instrumentation.callActivityOnCreate (Instrumentation.java: 1105)
10-19 16:54:08.802: E/AndroidRuntime(16425): atandroid.app.ActivityThread.performLaunchActivity (ActivityThread.java: 2298)
10-19 16:54:08.802: E/AndroidRuntime(16425):…10
一直在尝试解决这个问题。请帮助
这是三星的设备吗?我认为三星在原生代码编译器优化方面过于激进了。我使用Splunk MINT来接收远程堆栈跟踪,我在三星设备上看到三种崩溃类型,大约每几千次运行一次:
- 进程试图以用户-2的身份做某事
- 应用程序没有权限,它显然有
- 随机无法解释的NoClassDefFoundError
要做的事情:
•在proguard配置文件(通常称为proguard-android.txt或proguard-rules.pro)中添加以下行:-keep class MessageTypes
-keep class com.aleph.model.MessageTypes
•刷新你的构建
•重新构建应用程序
让我知道这是否有效,如果不行,我将进一步研究。