Android app crashing only on Galaxy SIII -
my team has encountered strange error our android application crash when try run app on our galaxy siii test phone. works fine on our other 2 test phones (an s6 , droid).
the app crashes @ runtime unhandled exception because not able locate of classes referenced in joda-time -- project dependency declare in our build.gradle. again, error only happens on our s3, , working until 2 weeks ago.
with type of issue there many ways can move forward figure out what's wrong. i'm starting hit wall, though, , love ideas/suggestions on issue.
edit2: identified issue. not correctly instantiating multidex support , class not loading.
edit: logcat below
w/dalvikvm: vfy: unable find class referenced in signature (lorg/joda/time/format/datetimeformatterbuilder;) w/dalvikvm: vfy: unable find class referenced in signature (lorg/joda/time/format/datetimeformatterbuilder;) e/dalvikvm: not find class 'org.joda.time.format.datetimeformat$styleformatter', referenced method org.joda.time.format.datetimeformat.createdatetimeformatter w/dalvikvm: vfy: unable resolve new-instance 9443 (lorg/joda/time/format/datetimeformat$styleformatter;) in lorg/joda/time/format/datetimeformat; d/dalvikvm: vfy: replacing opcode 0x22 @ 0x0005 e/dalvikvm: not find class 'org.joda.time.format.datetimeformatterbuilder', referenced method org.joda.time.format.datetimeformat.createformatterforpattern w/dalvikvm: vfy: unable resolve new-instance 9447 (lorg/joda/time/format/datetimeformatterbuilder;) in lorg/joda/time/format/datetimeformat; d/dalvikvm: vfy: replacing opcode 0x22 @ 0x001a w/dalvikvm: vfy: unable find class referenced in signature (lorg/joda/time/format/datetimeformatterbuilder;) i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenderatext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65094: lorg/joda/time/format/datetimeformatterbuilder;.appenderatext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x003c i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendcenturyofera, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65086: lorg/joda/time/format/datetimeformatterbuilder;.appendcenturyofera (ii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0042 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtwodigityear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65113: lorg/joda/time/format/datetimeformatterbuilder;.appendtwodigityear (iz)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0075 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtwodigitweekyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65112: lorg/joda/time/format/datetimeformatterbuilder;.appendtwodigitweekyear (iz)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0084 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendyearofera, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65117: lorg/joda/time/format/datetimeformatterbuilder;.appendyearofera (ii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00ab i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendweekyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65115: lorg/joda/time/format/datetimeformatterbuilder;.appendweekyear (ii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00af i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65116: lorg/joda/time/format/datetimeformatterbuilder;.appendyear (ii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00b3 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendmonthofyeartext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65104: lorg/joda/time/format/datetimeformatterbuilder;.appendmonthofyeartext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00bd i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendmonthofyearshorttext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65103: lorg/joda/time/format/datetimeformatterbuilder;.appendmonthofyearshorttext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00c2 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendmonthofyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65102: lorg/joda/time/format/datetimeformatterbuilder;.appendmonthofyear (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00c7 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenddayofmonth, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65089: lorg/joda/time/format/datetimeformatterbuilder;.appenddayofmonth (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00cc i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendhalfdayofdaytext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65096: lorg/joda/time/format/datetimeformatterbuilder;.appendhalfdayofdaytext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00d1 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendclockhourofhalfday, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65088: lorg/joda/time/format/datetimeformatterbuilder;.appendclockhourofhalfday (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00d6 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendhourofday, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65097: lorg/joda/time/format/datetimeformatterbuilder;.appendhourofday (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00db i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendclockhourofday, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65087: lorg/joda/time/format/datetimeformatterbuilder;.appendclockhourofday (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00e0 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendhourofhalfday, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65098: lorg/joda/time/format/datetimeformatterbuilder;.appendhourofhalfday (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00e5 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendminuteofhour, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65101: lorg/joda/time/format/datetimeformatterbuilder;.appendminuteofhour (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00ea i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendsecondofminute, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65106: lorg/joda/time/format/datetimeformatterbuilder;.appendsecondofminute (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00ef i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendfractionofsecond, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65095: lorg/joda/time/format/datetimeformatterbuilder;.appendfractionofsecond (ii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00f4 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenddayofweek, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65090: lorg/joda/time/format/datetimeformatterbuilder;.appenddayofweek (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x00f9 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenddayofweektext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65092: lorg/joda/time/format/datetimeformatterbuilder;.appenddayofweektext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0101 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenddayofweekshorttext, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65091: lorg/joda/time/format/datetimeformatterbuilder;.appenddayofweekshorttext ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0106 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appenddayofyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65093: lorg/joda/time/format/datetimeformatterbuilder;.appenddayofyear (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x010b i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendweekofweekyear, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65114: lorg/joda/time/format/datetimeformatterbuilder;.appendweekofweekyear (i)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0110 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtimezonename, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65108: lorg/joda/time/format/datetimeformatterbuilder;.appendtimezonename ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0118 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtimezoneshortname, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65111: lorg/joda/time/format/datetimeformatterbuilder;.appendtimezoneshortname (ljava/util/map;)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x011e i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtimezoneoffset, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65109: lorg/joda/time/format/datetimeformatterbuilder;.appendtimezoneoffset (ljava/lang/string;ljava/lang/string;zii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x74 @ 0x012d i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtimezoneoffset, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65109: lorg/joda/time/format/datetimeformatterbuilder;.appendtimezoneoffset (ljava/lang/string;ljava/lang/string;zii)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x74 @ 0x013c i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendtimezoneid, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65107: lorg/joda/time/format/datetimeformatterbuilder;.appendtimezoneid ()lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0141 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendliteral, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65099: lorg/joda/time/format/datetimeformatterbuilder;.appendliteral (c)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0157 i/dalvikvm: not find method org.joda.time.format.datetimeformatterbuilder.appendliteral, referenced method org.joda.time.format.datetimeformat.parsepatternto w/dalvikvm: vfy: unable resolve virtual method 65100: lorg/joda/time/format/datetimeformatterbuilder;.appendliteral (ljava/lang/string;)lorg/joda/time/format/datetimeformatterbuilder; d/dalvikvm: vfy: replacing opcode 0x6e @ 0x0161 w/dalvikvm: vfy: unable find class referenced in signature (lorg/joda/time/format/internalprinter;) e/dalvikvm: not find class 'org.joda.time.format.datetimeformat$styleformatter', referenced method org.joda.time.format.datetimeformat.patternforstyle w/dalvikvm: vfy: unable resolve check-cast 9443 (lorg/joda/time/format/datetimeformat$styleformatter;) in lorg/joda/time/format/datetimeformat; d/dalvikvm: vfy: replacing opcode 0x1f @ 0x000e d/dalvikvm: dexopt: unable opt direct call 0xfdef @ 0x07 in lorg/joda/time/format/datetimeformat;.createdatetimeformatter d/dalvikvm: dexopt: unable opt direct call 0xfe3d @ 0x1c in lorg/joda/time/format/datetimeformat;.createformatterforpattern d/androidruntime: shutting down vm w/dalvikvm: threadid=1: thread exiting uncaught exception (group=0x41799da0) d/hockeyapp: writing unhandled exception to: /data/data/advancetransit.advancetransit/files/ca1894c1-c19a-49ea-acbe-bf74fc934521.stacktrace e/androidruntime: fatal exception: main process: advancetransit.advancetransit, pid: 6151 java.lang.noclassdeffounderror: org.joda.time.format.datetimeformatterbuilder @ org.joda.time.format.datetimeformat.createformatterforpattern(datetimeformat.java:686) @ org.joda.time.format.datetimeformat.forpattern(datetimeformat.java:177) @ advancetransit.advancetransit.models.stoptime.timedifference(stoptime.java:116) @ advancetransit.advancetransit.ui.activities.mainactivity.onstopselect(mainactivity.java:1678) @ advancetransit.advancetransit.ui.activities.mainactivity$getlivedata.onpostexecute(mainactivity.java:970) @ advancetransit.advancetransit.ui.activities.mainactivity$getlivedata.onpostexecute(mainactivity.java:785) @ android.os.asynctask.finish(asynctask.java:632) @ android.os.asynctask.access$600(asynctask.java:177) @ android.os.asynctask$internalhandler.handlemessage(asynctask.java:645) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:146) @ android.app.activitythread.main(activitythread.java:5487) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:515) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1283) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1099) @ dalvik.system.nativestart.main(native method) 01-28 16:47:38.974 6151-6158/advancetransit.advancetransit i/androidruntime: vm exiting result code 1, cleanup skipped.
changing standard jodatime android port of jodatime not solve issue. explained @coder-con, issue relative multidex support not correctly setup. setup multidex, need (as explained in android developer) :
edit
build.gradle
, addmutlidexenabled true
,compile 'com.android.support.multidex:1.01'
:android { ... defaultconfig { ... // enabling multidex support. multidexenabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.1' }
in
androidmanifest.xml
, set application nameandroid.support.multidex.multidexapplication
if not have own application class. otherwise, either extend class, or overrideattachbasecontext
this: (see details here)protected void attachbasecontext(context base) { super.attachbasecontext(base); multidex.install(this);
Comments
Post a Comment