简体   繁体   English

Android Studio上的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError on android studio

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: 这是我的grade.build文件:

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。 Multidexsupport in grade file is only supported in andorid api21(lollipop). 仅在andorid api21(lollipop)中支持成绩文件中的Multidexsupport。

Found this tutorial that helped me get api 19 support: http://frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/ 找到了帮助我获得api 19支持的本教程: http : //frogermcs.github.io/MultiDex-solution-for-64k-limit-in-Dalvik/

Change 更改

versionCode 

versionName ""

To upper Version from Previous version inside your 从您内部的上一版本到上一版本

build.gradle     of app

Select build.gradle As i show i picture 选择build.gradle如图所示

在此处输入图片说明

And When you will open file you will get These option to change. 当您打开文件时,将获得这些选项进行更改。 As I have versionCode is 1 then change it to 2,,, And versionName "1.0" then change it to 1.1 由于我的versionCode为1,然后将其更改为2 ,,并且versionName为“ 1.0”,然后将其更改为1.1

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM