I noticed that in some phones after I gave people an update to my app it crashes on launch. On phones that did not have the app before it works just fine.
This is the crash log:
06-05 14:52:13.006 30819-30819/? I/SELinux﹕ Function: selinux_android_load_priority [0], There is no sepolicy file.
06-05 14:52:13.006 30819-30819/? I/SELinux﹕ Function: selinux_android_load_priority [1], There is no sepolicy version file.
06-05 14:52:13.006 30819-30819/? I/SELinux﹕ Function: selinux_android_load_priority , priority version is VE=SEPF_GT-I9515_4.4.2_0033
06-05 14:52:13.006 30819-30819/? I/SELinux﹕ selinux_android_seapp_context_reload: seapp_contexts file is loaded from /seapp_contexts
06-05 14:52:13.006 30819-30819/? E/dalvikvm﹕ >>>>> Normal User
06-05 14:52:13.006 30819-30819/com.samko.controlit E/dalvikvm﹕ >>>>> com.samko.controlit [ userId:0 | appId:10234 ]
06-05 14:52:13.016 30819-30819/com.samko.controlit D/dalvikvm﹕ Late-enabling CheckJNI
06-05 14:52:13.296 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/tapjoy/internal/fc;)
06-05 14:52:13.306 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.gk$n.f, referenced from method com.tapjoy.TapjoyConnectCore.f
06-05 14:52:13.306 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60471: Lcom/tapjoy/internal/gk$n;.f ()Lcom/tapjoy/internal/gk$l;
06-05 14:52:13.306 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000f
06-05 14:52:13.306 30819-30819/com.samko.controlit E/dalvikvm﹕ Could not find class 'com.tapjoy.internal.fc', referenced from method com.tapjoy.TapjoyConnectCore.doProfileAsync
06-05 14:52:13.306 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve new-instance 8688 (Lcom/tapjoy/internal/fc;) in Lcom/tapjoy/TapjoyConnectCore;
06-05 14:52:13.306 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0009
06-05 14:52:13.306 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xeb2d at 0x0e in Lcom/tapjoy/TapjoyConnectCore;.doProfileAsync
06-05 14:52:13.306 30819-30819/com.samko.controlit I/dalvikvm﹕ Failed resolving Lcom/tapjoy/TapjoyConnectCore$1; interface 8684 'Lcom/tapjoy/internal/eq;'
06-05 14:52:13.306 30819-30819/com.samko.controlit W/dalvikvm﹕ Link of class 'Lcom/tapjoy/TapjoyConnectCore$1;' failed
06-05 14:52:13.306 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe675 at 0x1c in Lcom/tapjoy/TapjoyConnectCore;.doProfileAsync
06-05 14:52:13.316 30819-30819/com.samko.controlit E/dalvikvm﹕ Could not find class 'com.tapjoy.internal.gd', referenced from method com.tapjoy.internal.fv.<init>
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve new-instance 8723 (Lcom/tapjoy/internal/gd;) in Lcom/tapjoy/internal/fv;
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x001e
06-05 14:52:13.316 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.c, referenced from method com.tapjoy.internal.fv.a
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60394: Lcom/tapjoy/internal/fy;.c ()Ljava/lang/String;
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x001a
06-05 14:52:13.316 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.a, referenced from method com.tapjoy.internal.fv.d
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve static method 60381: Lcom/tapjoy/internal/fy;.a (Landroid/content/Context;)Lcom/tapjoy/internal/fy;
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0015
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve instance field 21616
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x54 at 0x000c
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve instance field 21609
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x54 at 0x0011
06-05 14:52:13.316 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.a, referenced from method com.tapjoy.internal.fv.a
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60386: Lcom/tapjoy/internal/fy;.a (I)Z
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0016
06-05 14:52:13.316 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.a, referenced from method com.tapjoy.internal.fv.a
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60387: Lcom/tapjoy/internal/fy;.a (ILjava/lang/String;)Z
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0035
06-05 14:52:13.316 30819-30819/com.samko.controlit E/dalvikvm﹕ Could not find class 'com.tapjoy.internal.fz', referenced from method com.tapjoy.internal.fv.a
06-05 14:52:13.316 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve new-instance 8719 (Lcom/tapjoy/internal/fz;) in Lcom/tapjoy/internal/fv;
06-05 14:52:13.316 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x01a5
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve static field 21620 (b) in Lcom/tapjoy/internal/gk$i;
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x62 at 0x000b
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve static field 21620 (b) in Lcom/tapjoy/internal/gk$i;
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x62 at 0x000c
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve static field 21620 (b) in Lcom/tapjoy/internal/gk$i;
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x62 at 0x000e
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.a, referenced from method com.tapjoy.internal.fv.a
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60388: Lcom/tapjoy/internal/fy;.a (Ljava/lang/String;JZ)Z
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x74 at 0x0025
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.a, referenced from method com.tapjoy.internal.fv.b
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60382: Lcom/tapjoy/internal/fy;.a ()V
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0008
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.b, referenced from method com.tapjoy.internal.fv.b
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60389: Lcom/tapjoy/internal/fy;.b ()Lcom/tapjoy/internal/gk$n;
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.b, referenced from method com.tapjoy.internal.fv.b
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60391: Lcom/tapjoy/internal/fy;.b (I)Z
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0016
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.gg.a, referenced from method com.tapjoy.internal.fv.b
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60416: Lcom/tapjoy/internal/gg;.a ()V
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0029
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.b, referenced from method com.tapjoy.internal.fv.c
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60389: Lcom/tapjoy/internal/fy;.b ()Lcom/tapjoy/internal/gk$n;
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0025
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.d, referenced from method com.tapjoy.internal.fv.d
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60397: Lcom/tapjoy/internal/fy;.d (Ljava/lang/String;)Z
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0006
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.b, referenced from method com.tapjoy.internal.fv.e
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60392: Lcom/tapjoy/internal/fy;.b (Ljava/lang/String;)Z
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0016
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve instance field 21615
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x54 at 0x0009
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.fy.c, referenced from method com.tapjoy.internal.fv.f
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60395: Lcom/tapjoy/internal/fy;.c (Ljava/lang/String;)Z
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0016
06-05 14:52:13.326 30819-30819/com.samko.controlit I/dalvikvm﹕ Could not find method com.tapjoy.internal.gg.a, referenced from method com.tapjoy.internal.fv.g
06-05 14:52:13.326 30819-30819/com.samko.controlit W/dalvikvm﹕ VFY: unable to resolve virtual method 60416: Lcom/tapjoy/internal/gg;.a ()V
06-05 14:52:13.326 30819-30819/com.samko.controlit D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
06-05 14:52:13.336 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xebf6 at 0x24 in Lcom/tapjoy/internal/fv;.<init>
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5473 at 0x43 in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xebff at 0x58 in Lcom/tapjoy/internal/fv;.d
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5470 at 0x11 in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5470 at 0x1a in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x546f at 0x1d in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x546e at 0x2d in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5473 at 0x41 in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x546a at 0x70 in Lcom/tapjoy/internal/fv;.j
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5469 at 0x1f in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xec5a at 0x32 in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xebef at 0x1b9 in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5473 at 0x1ea in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5473 at 0x37 in Lcom/tapjoy/internal/fv;.a
06-05 14:52:13.336 30819-30819/com.samko.controlit D/dalvikvm﹕ DexOpt: unable to opt direct call 0xec5e at 0x58 in Lcom/tapjoy/internal/fv;.c
06-05 14:52:13.336 30819-30819/com.samko.controlit I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5473 at 0x15 in Lcom/tapjoy/internal/fv;.d
06-05 14:52:13.336 30819-30819/com.samko.controlit W/dalvikvm﹕ Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/tapjoy/internal/fv;
06-05 14:52:13.336 30819-30819/com.samko.controlit D/AndroidRuntime﹕ Shutting down VM
06-05 14:52:13.336 30819-30819/com.samko.controlit W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41a99da0)
06-05 14:52:13.336 30819-30819/com.samko.controlit E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.samko.controlit, PID: 30819
java.lang.NoClassDefFoundError: com.tapjoy.internal.gd
at com.tapjoy.internal.fv.<init>(SourceFile:110)
at com.tapjoy.internal.fv.<clinit>(SourceFile:52)
at com.tapjoy.FiveRocksIntegration.a(SourceFile:26)
at com.tapjoy.internal.dz.a(SourceFile:55)
at com.tapjoy.internal.dz.a(SourceFile:47)
at com.tapjoy.Tapjoy.connect(SourceFile:54)
at com.samko.controlit.App.onCreate(App.java:95)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1025)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4581)
at android.app.ActivityThread.access$1600(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1325)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
And this is my grade.build file:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.samko.controlit"
minSdkVersion 16
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
allprojects {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation"
}
}
dependencies {
// compile files('libs/android-support-v4.jar')
compile files('libs/QRemoteSDK.jar')
compile files('libs/HTCIR.jar')
compile project(':slidingmenu')
compile('com.crashlytics.sdk.android:crashlytics:2.2.3@aar') {
transitive = true;
}
compile project(path: ':backend', configuration: 'android-endpoints')
compile('com.google.api-client:google-api-client-android:1.17.0-rc') {
exclude module: 'httpclient'
}
compile('com.google.http-client:google-http-client-gson:1.17.0-rc') {
exclude module: 'httpclient'
}
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
compile 'org.lucasr.twowayview:twowayview:0.1.4'
compile 'com.android.support:support-v4:21.0.3'
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.facebook.android:facebook-android-sdk:4.1.2'
compile files('libs/AF-Android-SDK-v2.3.1.17.jar')
compile files('libs/tapjoyconnectlibrary.jar')
}
Thanks for your help :)
I found the problem, I am using MultidexSupport because I have a lot of libraries. Multidexsupport in grade file is only supported in andorid api21(lollipop).
Found this tutorial that helped me get api 19 support: http://frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/