文档章节

Joda-Time日历库崩溃问题

Achiever
 Achiever
发布于 2017/05/04 19:10
字数 597
阅读 21
收藏 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.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.5K
8
Joda-Time v2.9.1 发布,Java 日期时间处理库

Joda-Time v2.9.1 发布,更新如下: 2.9.1 Bug 修复 - Fix bug introduced by Long.MINVALUE and Long.MAXVALUE changes [#328] 对 2.9 的改进 - Faster parsing of time-zone identifiers ......

oschina
2015/11/13
1K
1
Joda-Time v2.8.1 发布,Java 日期时间处理库

Joda-Time v2.8.1 发布,该版本修复了如下 Bug: - Fixed to handle JDK 8u60 [#288, #291] Without this fix, formatting a time-zone will print "+00:00" instead of "GMT" for the GMT ......

oschina
2015/06/16
1K
7
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

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
2
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
34
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部