文档章节

Joda-Time日历库崩溃问题

Achiever
 Achiever
发布于 2017/05/04 19:10
字数 597
阅读 23
收藏 0

最近项目中用到日历控件库 Joda-Time,三个开发在自己本地使用库没问题,但是合并起来,问题来了.

 

W/NativeCrashHandler: Load library failed.

我去 library没load进来! 导致接下来的错误
W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
E/dalvikvm:Could not find class 'org.joda.time.DateTime', referenced from method com.jeek.calendar.widget.calendar.month.MonthAdapter.getYearAndMonth

W/dalvikvm: VFY: unable to resolve new-instance 9220 (Lorg/joda/time/DateTime;) in Lcom/jeek/calendar/widget/calendar/month/MonthAdapter;
D/dalvikvm: VFY: replacing opcode 0x22 at 0x0003
W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
D/dalvikvm: DexOpt: unable to opt direct call 0xf6f8 at 0x05 in Lcom/jeek/calendar/widget/calendar/month/MonthAdapter;.getYearAndMonth

dex文件,联想到难道是方法量或引入库太大?!
W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
E/dalvikvm: Could not find class 'org.joda.time.DateTime', referenced from method com.jeek.calendar.widget.calendar.week.WeekAdapter.initStartDate
W/dalvikvm: VFY: unable to resolve new-instance 9220 (Lorg/joda/time/DateTime;) in Lcom/jeek/calendar/widget/calendar/week/WeekAdapter;
D/dalvikvm: VFY: replacing opcode 0x22 at 0x0000
W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
I/dalvikvm: Could not find method org.joda.time.DateTime.plusWeeks, referenced from method com.jeek.calendar.widget.calendar.week.WeekAdapter.instanceWeekView
 W/dalvikvm: VFY: unable to resolve virtual method 63286: Lorg/joda/time/DateTime;.plusWeeks (I)Lorg/joda/time/DateTime;
 D/dalvikvm: VFY: replacing opcode 0x6e at 0x000f
 W/dalvikvm: Unable to resolve superclass of Lorg/joda/time/DateTime; (9277)
 W/dalvikvm: Link of class 'Lorg/joda/time/DateTime;' failed
D/dalvikvm: DexOpt: unable to opt direct call 0xf6f8 at 0x02 in Lcom/jeek/calendar/widget/calendar/week/WeekAdapter;.initStartDate

崩溃就在这里了
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x415cdd88)
E/CatchException:Unabletostartactivity

ComponentInfo{growUp.GrowUpActivity}: android.view.InflateException: Binary XML file line #120: Error inflating class com.jeek.calendar.widget.calendar.week.WeekCalendarView
E/CatchException: 异常跟踪: [Ljava.lang.StackTraceElement;@46162828
E/CatchException:: android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2237)
E/CatchException:: android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2286)
1in E/CatchException: 异常跟踪: android.app.ActivityThread.access$800(ActivityThread.java:144)
1in E/CatchException:: android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
1in E/CatchException: 异常跟踪: android.os.Handler.dispatchMessage(Handler.java:102)
1in E/CatchException: 异常跟踪: android.os.Looper.loop(Looper.java:212)
1in E/CatchException: 异常跟踪: android.app.ActivityThread.main(ActivityThread.java:5137)
1in E/CatchException: 异常跟踪: java.lang.reflect.Method.invokeNative(Native Method)
1in E/CatchException: 异常跟踪: java.lang.reflect.Method.invoke(Method.java:515)
1inE/CatchException:: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
1in E/CatchException: 异常跟踪: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:718)
1in E/CatchException: 异常跟踪: dalvik.system.NativeStart.main(Native Method)

 

死了好多脑细胞,终于看找到了解决方案

1,使用最新的joda-time 库  github.com/JodaOrg/joda-time/releases

2,在app的build.gradle中 defaultconfig中加  multiDexEnabled true

3,  也是最最最重要的一步,项目的application需要继承   MultiDexApplication

问题解决了!问题解决了!问题解决了!

© 著作权归作者所有

共有 人打赏支持
Achiever
粉丝 0
博文 1
码字总数 597
作品 0
海淀
程序员
私信 提问
Joda-Time v2.6 发布,Java 日期时间处理库

Joda-Time v2.6 发布了,该版本主要改进内容包括: - 处理复杂的前缀和后缀合并 [#194, #203] 例如 'M' 代表月份,而 'm' 代表分钟 Parser 一般情况下是大小写不敏感的,但在这种场景下是敏感...

oschina
2014/12/02
3.2K
3
Joda-Time v2.8.2 发布,Java 日期时间处理库

Joda-Time v2.8.2 发布,该版本带来了新的提升,bug 修复等等,主要如下: - DateTimeZone data updated to version 2015f 更多内容请看:change notes 下载地址:v2.8.2 JodaTime 提供了一组...

oschina
2015/08/12
1K
3
Joda-Time 2.9.2 发布,Java 日期时间处理库

Joda-Time 2.9.2 发布,更新如下: Bug fixes in 2.9.2 ------------------ - Fix bug in time-zone binary search [#332] - DateTimeZone data updated to version 2016a (version 2.9 had ......

淡漠悠然
2016/01/29
1K
3
Joda-Time 2.9.4 发布,Java 日期时间处理库

Joda-Time 2.9.4 发布了,更新内容如下: Changes in 2.9.4 ---------------- - DateTimeZone data updated to version 2016d - Loading time-zone provider now occurs in a priveleged bloc......

xusheng1987
2016/06/01
2.6K
8
Joda-Time v2.8 发布,Java 日期时间处理库

Joda-Time v2.8 发布,该版本完全兼容 2.7 版本,主要改进包括: 1. 使用 Unicode 对 properties 文件进行转义 2. 避免 Android jar 包中的 ProGuard 错误 JodaTime 提供了一组Java类包用于处...

oschina
2015/05/30
3.4K
13

没有更多内容

加载失败,请刷新页面

加载更多

centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
40分钟前
1
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
5
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部