源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 出现:java.lang.NoClassDefFoundError...错误解决办法

  • 时间:2021-12-10 02:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 出现:java.lang.NoClassDefFoundError...错误解决办法
今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的! 然后我又用自己的测试机试了下没问题([b]Version:5.0.2[/b]),然后又使用crash的测试手机([b]Version:4.4[/b]),乖乖,居然是4.4才会出现的情况!(4.4以下没有验证哈!可能都会吧!!!) log显示:
 W/System.err: java.lang.NoClassDefFoundError: android/os/PersistableBundle
 W/System.err:   at java.lang.Class.getDeclaredMethods(Native Method)
 W/System.err:   at java.lang.Class.getDeclaredMethods(Class.java:656)
 W/System.err:   at de.greenrobot.event.SubscriberMethodFinder.findSubscriberMethods(SubscriberMethodFinder.java:75)
 W/System.err:   at de.greenrobot.event.EventBus.register(EventBus.java:163)
 W/System.err:   at de.greenrobot.event.EventBus.register(EventBus.java:133)
接着当然就是google 了! [url=http://stackoverflow.com/questions/28857860/classnotfoundexception-didnt-find-class-android-os-persistablebundle-otto-an]StackOverFlow[/url] [b]最终找到了出现这个error的原因:[/b]
 @Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
  super.onCreate(savedInstanceState, persistentState);
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
  super.onSaveInstanceState(outState, outPersistentState);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
  super.onSaveInstanceState(outState);
}

注意在写Activity的时候,如果使用了public 两个Bundle参数的方法,那么在4.4的机器上就会出现crash的情况! 至于为撒就还没有去细究,本质上,两个参数的其实还是走的一个参数的方法。。
public void onCreate(@Nullable Bundle savedInstanceState,
    @Nullable PersistableBundle persistentState) {
  onCreate(savedInstanceState);
}
所以在写这些回调的时候不要马虎大意了,记得是复写protected开头的!!!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部