我看到我出版的Android App 出现了几个错误,
0 java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader@45908320
1 at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:211)
2 at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:123)
3 at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:82)
4 at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:462)
5 at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:416)
6 at org.joda.time.DateTimeZone.<clinit>(DateTimeZone.java:115)
7 at org.joda.time.chrono.GregorianChronology.<clinit>(GregorianChronology.java:71)
8 at org.joda.time.chrono.ISOChronology.<clinit>(ISOChronology.java:66)
9 at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:61)
10 at org.joda.time.DateTime.<init>(DateTime.java:155)
搜索显示这通常是一个编译问题( 很显然, Joda Time 图书馆没有加入建设路径 ), 但是为什么在几千个用户中只有4个会看到这个错误?
我唯一的猜测是,有人试图拆解应用程序来盗用它(这是一个相当流行的付费应用程序 ), 当他们错误地重组时会看到错误。 在这种情况下,我很高兴他们看到错误,我不需要担心。
另一个奇怪的是, 造成问题的代码 被一个试捕/抓获, 似乎没有抓住它:
try {
DateTime dt = new DateTime();
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
return fmt.print(dt);
} catch (Exception e) {
//Report issue to Analytics service
}
对我来说,这个错误似乎更不可能出现在催泪症上,因为它应该已经被抓住。 有人能解释一下吗?