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) :

  1. edit build.gradle , add mutlidexenabled true , compile 'com.android.support.multidex:1.01':

    android {     ...     defaultconfig {         ...         // enabling multidex support.         multidexenabled true     } ... } dependencies {     compile 'com.android.support:multidex:1.0.1' } 
  2. in androidmanifest.xml, set application name android.support.multidex.multidexapplication if not have own application class. otherwise, either extend class, or override attachbasecontext this: (see details here)

    protected void attachbasecontext(context base) {     super.attachbasecontext(base);     multidex.install(this); 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -