面料/ Crashlytics的NoClassDefFoundError仅在特定的设备面料、设备、在特定、NoClassDefFoundError

2023-09-07 17:18:22 作者:我是一个大螃蟹咿呀咿呀呦

我看到在谷歌崩溃播放相关的织物/ Crashlytics。这件事发生后,我从正常Crashlytics新面料Crashlytics更新。我只能重现它在我的设备(GALAXY S2)之一。我有所有其他设备(Nexus的5和S4)没有崩溃。这里的堆栈跟踪:

 九月8日至19日:32:26.328 7084-7084 / com.tsm.countryjam D / dalvikvm:WAIT_FOR_CONCURRENT_GC受阻0毫秒
9月8日至19号:32:26.653 7084-7088 / com.tsm.countryjam D / dalvikvm:GC_CONCURRENT释放251K,12%的自由9567K / 10823K,暂停12毫秒+ 2ms的,总70ms的
9月8日至19号:32:26.653 7084-7084 / com.tsm.countryjam D / dalvikvm:WAIT_FOR_CONCURRENT_GC受阻42ms
9月8日至19号:32:26.653 7084-7100 / com.tsm.countryjam D / dalvikvm:WAIT_FOR_CONCURRENT_GC受阻42ms
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam I / dalvikvm:未能解决LCOM / crashlytics /安卓/测试/测试版;接口9027廖氏/面料/ SDK /安卓/服务/普通/ DeviceIdentifierProvider;
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/测试/测试版;失败
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam E / dalvikvm:找不到类的com.crashlytics.android.beta.Beta,从法com.crashlytics.android.Crashlytics引用< INIT>
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析新的实例1791(LCOM / crashlytics /安卓/测试/测试版)的LCOM / crashlytics /安卓/ Crashlytics ;
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:更换运code输入0x22在0x000a
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam I / dalvikvm:未能解决LCOM / crashlytics /安卓/测试/测试版;接口9027廖氏/面料/ SDK /安卓/服务/普通/ DeviceIdentifierProvider;
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/测试/测试版;失败
9月8日至19号:32:26.668 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/测试/测试版)
9月8日至19号:32:26.673 7084-7084 / com.tsm.countryjam I / dalvikvm:未能解决LCOM / crashlytics /安卓/测试/测试版;接口9027廖氏/面料/ SDK /安卓/服务/普通/ DeviceIdentifierProvider;
9月8日至19号:32:26.673 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/测试/测试版;失败
9月8日至19号:32:26.673 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/核心/ PinningInfoProvider;)
9月8日至19号:32:26.673 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/核心/ PinningInfoProvider;)
9月8日至19号:32:26.673 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/核心/ PinningInfoProvider;)
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/核心/ CrashlyticsListener;)
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:找不到签名中引用的类(LCOM / crashlytics /安卓/核心/ CrashlyticsListener;)
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:未能解决LCOM / crashlytics /安卓/测试/测试版;接口9027廖氏/面料/ SDK /安卓/服务/普通/ DeviceIdentifierProvider;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/测试/测试版;失败
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0x3474在为0x0F LCOM / crashlytics /安卓/ Crashlytics;< INIT>
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:无法解析LCOM / crashlytics /安卓/答案/ SessionEventTransform;接口9072廖氏/面料/ SDK /安卓/服务/事件/ EventTransform;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/答案/ SessionEventTransform;失败
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam E / dalvikvm:找不到类的com.crashlytics.android.answers.SessionEventTransform,从法com.crashlytics.android.answers.Answers引用。 initializeSessionAnalytics
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析新的实例1784(LCOM / crashlytics /安卓/答案/ SessionEventTransform;)在LCOM / crashlytics /安卓/回答/答案;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:更换运code输入0x22在×0004
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:找不到方法io.fabric.sdk.android.services.common.CommonUtils.logControlledError,从方法com.crashlytics.android引用。 answers.Answers.initializeSessionAnalytics
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析静态方法59049:廖氏/面料/ SDK /安卓/服务/普通/ CommonUtils; .logControlledError(Landroid /内容/语境; Ljava /朗/字符串; Ljava /朗/可抛出;)V
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:更换运code 0x77为0x0194
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:找不到方法io.fabric.sdk.android.services.settings.Settings.getInstance,从方法com.crashlytics.android引用。 answers.Answers.doInBackground
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析静态方法59331:廖氏/面料/ SDK /安卓/服务/设置/设置; .getInstance()廖氏/面料/ SDK /安卓/服务/设置/设置;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:在0x000c更换运code 0x71
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:找不到方法io.fabric.sdk.android.services.common.CommonUtils.getStringsFileValue,从方法com.crashlytics.android引用。 answers.Answers.getOverridenSpiEndpoint
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析静态方法59043:廖氏/面料/ SDK /安卓/服务/普通/ CommonUtils; .getStringsFileValue(Landroid /内容/语境; Ljava /朗/字符串;)Ljava /朗/字符串;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:更换运code 0x71在×0008
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam E / dalvikvm:找不到类的io.fabric.sdk.android.services.persistence.FileStoreImpl,从法com.crashlytics.android引用。 answers.Answers.getSdkDirectory
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析新的实例9090(廖氏/面料/ SDK /安卓/服务/持久化/ FileStoreImpl;)在LCOM / crashlytics /安卓/答案/答案;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:更换运code输入0x22为0×0001
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam I / dalvikvm:找不到方法io.fabric.sdk.android.services.common.Crash $ FatalException.getSessionId,从方法com.crashlytics引用。 android.answers.Answers.onException
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析虚方法59056:廖氏/面料/ SDK /安卓/服务/普通/崩溃$ FatalException; .getSessionId() Ljava /朗/字符串;
9月8日至19号:32:26.678 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:在0x000b更换运code 0x6e
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:找不到方法io.fabric.sdk.android.services.common.Crash $ LoggedException.getSessionId,从方法com.crashlytics引用。 android.answers.Answers.onException
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam W / dalvikvm:VFY:无法解析虚方法59058:廖氏/面料/ SDK /安卓/服务/普通/崩溃$ LoggedException; .getSessionId() Ljava /朗/字符串;
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:VFY:在0x000b更换运code 0x6e
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:无法解析LCOM / crashlytics /安卓/答案/ SessionEventTransform;接口9072廖氏/面料/ SDK /安卓/服务/事件/ EventTransform;
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/答案/ SessionEventTransform;失败
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0x3455在0x0C的在LCOM / crashlytics /安卓/答案/答案; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0xe6da在LCOM / crashlytics /安卓/答案/答案的0x19; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0xe78c在LCOM / crashlytics /安卓/答案/答案0x36数据; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam W / dalvikvm:无法解析LCOM的超/ crashlytics /安卓/答案/ SessionAnalyticsFilesManager; (9073)
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam W / dalvikvm:Link类的LCOM / crashlytics /安卓/答案/ SessionAnalyticsFilesManager;失败
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0x342a在0x4b在LCOM / crashlytics /安卓/答案/答案; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法在LCOM / crashlytics /安卓/答案/答案0x72优化静态字段裁判0x5e1e; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法在0x7e格式的LCOM / crashlytics /安卓/答案/答案,以优化静态字段裁判0x5e1c; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法在0x8a在LCOM / crashlytics /安卓/答案/答案,以优化静态字段裁判0x5e21; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0xe78f在LCOM / crashlytics /安卓/答案/答案0x115; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0xe78f在LCOM / crashlytics /安卓/答案/答案0x17d; .initializeSessionAnalytics
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法优化实例字段裁判0x5e91在LCOM / crashlytics /安卓/答案/答案为0x20; .doInBackground
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法优化实例字段裁判0x5e8c在LCOM / crashlytics /安卓/答案/答案输入0x22; .doInBackground
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam I / dalvikvm:DexOpt:无法优化实例字段裁判0x5e8e在0x2a在LCOM / crashlytics /安卓/答案/答案; .doInBackground
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / dalvikvm:DexOpt:无法选择直接调用0xe7ac在LCOM / crashlytics /安卓/答案/答案0×07; .getSdkDirectory
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam D / AndroidRuntime:关闭虚拟机
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam W / dalvikvm:主题ID = 1:螺纹未捕获异常退出(组= 0x4127b2a0)
9月8日至19号:32:26.683 7084-7084 / com.tsm.countryjam E / AndroidRuntime:致命异常:主要
    java.lang.NoClassDefFoundError的:com.crashlytics.android.beta.Beta
            在com.crashlytics.android.Crashlytics< INIT>(Crashlytics.java:29)
            在com.tsm.events.application.TownsquareEvents.onCreate(Tow​​nsquareEvents.java:59)
            在android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1014)
            在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4251)
            在android.app.ActivityThread.access $ 1400(ActivityThread.java:140)
            在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1297)
            在android.os.Handler.dispatchMessage(Handler.java:99)
            在android.os.Looper.loop(Looper.java:137)
            在android.app.ActivityThread.main(ActivityThread.java:4921)
            在java.lang.reflect.Method.invokeNative(本机方法)
            在java.lang.reflect.Method.invoke(Method.java:511)
            在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1027)
            在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
            在dalvik.system.NativeStart.main(本机方法)
 

这是我的build.gradle的内容:

  buildscript {
    库{
        jcenter()
        行家{URLhttps://maven.fabric.io/public'}
    }

    依赖{
        类路径com.android.tools.build:gradle:1.0.+
        类路径io.fabric.tools:gradle:1.+
    }
}
应用插件:com.android.application
应用插件:io.fabric

库{
    jcenter()
    flatDir {
        迪尔斯'库'
    }
    行家{URLhttps://maven.fabric.io/public'}
}


安卓{
    compileSdkVersion 22
    buildToolsVersion22.0.1

    defaultConfig {
        的applicationIDcom.tsm.events
        的minSdkVersion 15
        targetSdkVersion 22
        版本code 1
        VERSIONNAME1.0.0
        multiDexEnabled =真
    }
    dexOptions {
        javaMaxHeapSize4G
    }
    buildTypes {
        调试{
            调试的真
        }
        推出 {
            minifyEnabled假
            proguardFiles getDefaultProguardFile('ProGuard的-android.txt'),'proguard-rules.pro
        }
    }

}

依赖{
    编译文件树(导演:库,包括:['的* .jar'])
    编制项目(':库:ResideMenu)
    //编译com.android.support:support-v4:20.0.+
    编译com.android.support:support-v4:22.0.+
    编译文件(库/通用图像装载-1.9.3.jar)
    编译io.realm:境界 - 机器人:0.81.1
    编译se.emilsjolander:stickylistheaders:2.5.2
    编译com.google.android.gms:播放服务:87年6月5日
    编译com.parse.bolts:螺栓,机器人:1 +'
    编译文件树(导演:库,包括:解析 -  *罐子)
    编译(com.crashlytics.sdk.android:crashlytics:2.4.0@aar'){
        传递=真
    }
    // Twitter的工具包
    编译(com.twitter.sdk.android:twitter:1.6.0@aar'){
        传递=真
    }
    编译(com.twitter.sdk.android:tweet-composer:0.8.0@aar'){
        传递= TRUE;
    }
    编译com.facebook.android:facebook-android-sdk:3.20.0
    编译com.google.maps.android:android-maps-utils:0.3+
    编译(名称:estimote-sdk- preVIEW',分机:AAR)
    编译文件(库/每两周-0.4.2.jar)
    编译文件(库/杰克逊核心-2.5.2.jar)
}
 

解决方案

我只是理解了它有一种预感!我最近不得不升级到新的Fabric架构之后添加多DEX的支持,我有,也许我没有正确地做到这一点的感觉。因此,添加这些额外的修改后,现在它不再崩溃:

在我build.gradle,我增加了一个增量的设置:

  dexOptions {
        增量真
        javaMaxHeapSize4G
    }
 

和一个额外的依赖:

 编译com.android.support:multidex:
 

和我的应用程序类,我延长MultiDexApplication:

 公共类TownsquareEvents扩展android.support.multidex.MultiDexApplication
 

I'm seeing a crash in Google Play related to Fabric/Crashlytics. This happened after I updated from normal Crashlytics to the new Fabric Crashlytics. I can only reproduce it on one of my devices (Galaxy S2). All other devices that I have (Nexus 5 and S4) do not have the crash. Here's the stack trace:

08-19 09:32:26.328    7084-7084/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 0ms
08-19 09:32:26.653    7084-7088/com.tsm.countryjam D/dalvikvm﹕ GC_CONCURRENT freed 251K, 12% free 9567K/10823K, paused 12ms+2ms, total 70ms
08-19 09:32:26.653    7084-7084/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 42ms
08-19 09:32:26.653    7084-7100/com.tsm.countryjam D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 42ms
08-19 09:32:26.668    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;'
08-19 09:32:26.668    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed
08-19 09:32:26.668    7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'com.crashlytics.android.beta.Beta', referenced from method com.crashlytics.android.Crashlytics.<init>
08-19 09:32:26.668    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 1791 (Lcom/crashlytics/android/beta/Beta;) in Lcom/crashlytics/android/Crashlytics;
08-19 09:32:26.668    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x000a
08-19 09:32:26.668    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;'
08-19 09:32:26.668    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed
08-19 09:32:26.668    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/beta/Beta;)
08-19 09:32:26.673    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;'
08-19 09:32:26.673    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed
08-19 09:32:26.673    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;)
08-19 09:32:26.673    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;)
08-19 09:32:26.673    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/PinningInfoProvider;)
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/CrashlyticsListener;)
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to find class referenced in signature (Lcom/crashlytics/android/core/CrashlyticsListener;)
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/beta/Beta; interface 9027 'Lio/fabric/sdk/android/services/common/DeviceIdentifierProvider;'
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/beta/Beta;' failed
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3474 at 0x0f in Lcom/crashlytics/android/Crashlytics;.<init>
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/answers/SessionEventTransform; interface 9072 'Lio/fabric/sdk/android/services/events/EventTransform;'
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionEventTransform;' failed
08-19 09:32:26.678    7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'com.crashlytics.android.answers.SessionEventTransform', referenced from method com.crashlytics.android.answers.Answers.initializeSessionAnalytics
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 1784 (Lcom/crashlytics/android/answers/SessionEventTransform;) in Lcom/crashlytics/android/answers/Answers;
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0004
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.CommonUtils.logControlledError, referenced from method com.crashlytics.android.answers.Answers.initializeSessionAnalytics
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59049: Lio/fabric/sdk/android/services/common/CommonUtils;.logControlledError (Landroid/content/Context;Ljava/lang/String;Ljava/lang/Throwable;)V
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x77 at 0x0194
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.settings.Settings.getInstance, referenced from method com.crashlytics.android.answers.Answers.doInBackground
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59331: Lio/fabric/sdk/android/services/settings/Settings;.getInstance ()Lio/fabric/sdk/android/services/settings/Settings;
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x000c
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.CommonUtils.getStringsFileValue, referenced from method com.crashlytics.android.answers.Answers.getOverridenSpiEndpoint
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve static method 59043: Lio/fabric/sdk/android/services/common/CommonUtils;.getStringsFileValue (Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0008
08-19 09:32:26.678    7084-7084/com.tsm.countryjam E/dalvikvm﹕ Could not find class 'io.fabric.sdk.android.services.persistence.FileStoreImpl', referenced from method com.crashlytics.android.answers.Answers.getSdkDirectory
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve new-instance 9090 (Lio/fabric/sdk/android/services/persistence/FileStoreImpl;) in Lcom/crashlytics/android/answers/Answers;
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0001
08-19 09:32:26.678    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.Crash$FatalException.getSessionId, referenced from method com.crashlytics.android.answers.Answers.onException
08-19 09:32:26.678    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve virtual method 59056: Lio/fabric/sdk/android/services/common/Crash$FatalException;.getSessionId ()Ljava/lang/String;
08-19 09:32:26.678    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000b
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Could not find method io.fabric.sdk.android.services.common.Crash$LoggedException.getSessionId, referenced from method com.crashlytics.android.answers.Answers.onException
08-19 09:32:26.683    7084-7084/com.tsm.countryjam W/dalvikvm﹕ VFY: unable to resolve virtual method 59058: Lio/fabric/sdk/android/services/common/Crash$LoggedException;.getSessionId ()Ljava/lang/String;
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000b
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ Failed resolving Lcom/crashlytics/android/answers/SessionEventTransform; interface 9072 'Lio/fabric/sdk/android/services/events/EventTransform;'
08-19 09:32:26.683    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionEventTransform;' failed
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3455 at 0x0c in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe6da at 0x19 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78c at 0x36 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Unable to resolve superclass of Lcom/crashlytics/android/answers/SessionAnalyticsFilesManager; (9073)
08-19 09:32:26.683    7084-7084/com.tsm.countryjam W/dalvikvm﹕ Link of class 'Lcom/crashlytics/android/answers/SessionAnalyticsFilesManager;' failed
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0x342a at 0x4b in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e1e at 0x72 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e1c at 0x7e in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x5e21 at 0x8a in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78f at 0x115 in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe78f at 0x17d in Lcom/crashlytics/android/answers/Answers;.initializeSessionAnalytics
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e91 at 0x20 in Lcom/crashlytics/android/answers/Answers;.doInBackground
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e8c at 0x22 in Lcom/crashlytics/android/answers/Answers;.doInBackground
08-19 09:32:26.683    7084-7084/com.tsm.countryjam I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x5e8e at 0x2a in Lcom/crashlytics/android/answers/Answers;.doInBackground
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/dalvikvm﹕ DexOpt: unable to opt direct call 0xe7ac at 0x07 in Lcom/crashlytics/android/answers/Answers;.getSdkDirectory
08-19 09:32:26.683    7084-7084/com.tsm.countryjam D/AndroidRuntime﹕ Shutting down VM
08-19 09:32:26.683    7084-7084/com.tsm.countryjam W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x4127b2a0)
08-19 09:32:26.683    7084-7084/com.tsm.countryjam E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.crashlytics.android.beta.Beta
            at com.crashlytics.android.Crashlytics.<init>(Crashlytics.java:29)
            at com.tsm.events.application.TownsquareEvents.onCreate(TownsquareEvents.java:59)
            at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1014)
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4251)
            at android.app.ActivityThread.access$1400(ActivityThread.java:140)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1297)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4921)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
            at dalvik.system.NativeStart.main(Native Method)

And here's the contents of my build.gradle:

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    jcenter()
    flatDir {
        dirs 'libs'
    }
    maven { url 'https://maven.fabric.io/public' }
}


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.tsm.events"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0.0"
        multiDexEnabled = true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':libraries:ResideMenu')
    //compile 'com.android.support:support-v4:20.0.+'
    compile 'com.android.support:support-v4:22.0.+'
    compile files('libs/universal-image-loader-1.9.3.jar')
    compile 'io.realm:realm-android:0.81.1'
    compile 'se.emilsjolander:stickylistheaders:2.5.2'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
    compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
        transitive = true
    }
    // Twitter Kit
    compile('com.twitter.sdk.android:twitter:1.6.0@aar') {
        transitive = true
    }
    compile('com.twitter.sdk.android:tweet-composer:0.8.0@aar') {
        transitive = true;
    }
    compile 'com.facebook.android:facebook-android-sdk:3.20.0'
    compile 'com.google.maps.android:android-maps-utils:0.3+'
    compile(name: 'estimote-sdk-preview', ext: 'aar')
    compile files('libs/biweekly-0.4.2.jar')
    compile files('libs/jackson-core-2.5.2.jar')
}

解决方案

I just figured it out with a hunch! I recently had to add multi-dex support after upgrading to the new Fabric framework, and I had a feeling that maybe I didn't do it correctly. So after adding these additional changes, now it no longer crashes:

In my build.gradle, I added an incremental settings:

dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }

and an additional dependency:

compile 'com.android.support:multidex:'

and on my application class I'm extending MultiDexApplication:

public class TownsquareEvents extends android.support.multidex.MultiDexApplication