web-dev-qa-db-ja.com

特定のデバイスでのみFabric / Crashlytics NoClassDefFoundError

Fabric/Crashlyticsに関連するGooglePlayのクラッシュが発生しています。これは、通常のCrashlyticsから新しいFabricCrashlyticsに更新した後に発生しました。自分のデバイスの1つ(Galaxy S2)でしか再現できません。私が持っている他のすべてのデバイス(Nexus 5とS4)にはクラッシュがありません。スタックトレースは次のとおりです。

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)

そして、これが私の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')
}
8
codeman

私はそれを直感で理解しました!最近、新しいファブリックフレームワークにアップグレードした後、マルチデックスサポートを追加する必要がありましたが、正しく実行できなかったのではないかと感じました。したがって、これらの追加の変更を追加した後、クラッシュしなくなりました。

Build.gradleで、増分設定を追加しました。

dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }

および追加の依存関係:

compile 'com.Android.support:multidex:'

私のアプリケーションクラスでは、MultiDexApplicationを拡張しています。

public class TownsquareEvents extends Android.support.multidex.MultiDexApplication
26
codeman

これをビルドしてください:コンパイル 'com.Android.support:multidex:1.0.1'

そして、このメソッドをアプリケーションクラスに追加します。

           protected void attachBaseContext(Context base) {
               super.attachBaseContext(base);
               MultiDex.install(this);
            }
5
user7176550

2年後の追加情報:問題はAndroid <5を実行しているデバイスでのみ発生するようです(それが誰かがクラッシュの検索を絞り込むのに役立つ場合...)

4
Adrien Dos Reis

MultiDexを正しく使用していて、それでもこのエラーが発生する場合は、Proguardを使用していて、MultiDexが保持するクラスを認識していないことが原因である可能性があります。

したがって、必ずMultiDexキープファイルをProguard.proファイルと「同期」してください。

buildTypes {
   // other stuff...

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        ext.enableCrashlytics = true

        //
        // IMPORTANT PART:
        //
        // tell your MultiDex to keep the classes you defined in your Proguard .pro file.
        multiDexKeepProguard file('proguard-rules.pro')
    }
}

これにより、multidex.keepファイルを手動で指定する必要がなくなります。

multiDexKeepProguardここ 、および 完全な開発者向けドキュメント に関する詳細はGoogleから。

4
Sakiboy

Crashlyticsを2.9.1に更新して、このバグを修正しようとしています。 https://docs.fabric.io/Android/changelog.html#february-28-2018 によると:

Firebase Coreが依存関係として明示的に含まれていない場合に、FirebaseCrashlyticsの起動に失敗するバグを修正しました。

ぼくの build.gradle今読む:

implementation('com.crashlytics.sdk.Android:crashlytics:2.9.1@aar') {
    transitive = true;
}

編集:助けにはならなかった。 On Android 4.xCrashlyticsがクラッシュします。皮肉なことです。

0
Martin Vysny

最初にFabricSDKが追加されているかどうかを確認してから、このエラーが発生した場合は以下のファイルを確認してください。

01-26 12:15:46.186  32094-32094/com.example.Android I/SELinux﹕ Function: selinux_Android_load_priority [0], There is no sepolicy file.
01-26 12:15:46.186  32094-32094/com.example.Android I/SELinux﹕ SELinux: VERIFYSIG  File Open Unsuccessful:
01-26 12:15:46.186  32094-32094/com.example.Android I/SELinux﹕ Function: selinux_Android_load_priority , spota verifySig or checkHash fails. priority version is VE=SEPF_GT-I9500_4.4.2_0018
01-26 12:15:46.186  32094-32094/com.example.Android I/SELinux﹕ selinux_Android_seapp_context_reload: seapp_contexts file is loaded from /seapp_contexts
01-26 12:15:46.191  32094-32094/com.example.Android E/dalvikvm﹕ >>>>> Normal User
01-26 12:15:46.191  32094-32094/com.example.Android E/dalvikvm﹕ >>>>> com.example.Android [ userId:0 | appId:10288 ]
01-26 12:15:46.191  32094-32094/com.example.Android D/dalvikvm﹕ Late-enabling CheckJNI
01-26 12:15:46.261  32094-32094/com.example.Android E/dalvikvm﹕ Could not find class 'io.fabric.sdk.Android.Kit[]', referenced from method com.example.Android.ExampleApplication.onCreate
01-26 12:15:46.261  32094-32094/com.example.Android W/dalvikvm﹕ VFY: unable to resolve new-array 10457 ([Lio/fabric/sdk/Android/Kit;) in Lcom/example/Android/ExampleApplication;
01-26 12:15:46.261  32094-32094/com.example.Android D/dalvikvm﹕ VFY: replacing opcode 0x23 at 0x0007
01-26 12:15:46.261  32094-32094/com.example.Android W/dalvikvm﹕ Unable to resolve superclass of Lcom/crashlytics/Android/Crashlytics; (8949)
01-26 12:15:46.261  32094-32094/com.example.Android W/dalvikvm﹕ Link of class 'Lcom/crashlytics/Android/Crashlytics;' failed
01-26 12:15:46.261  32094-32094/com.example.Android D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3705 at 0x12 in Lcom/example/Android/ExampleApplication;.onCreate
01-26 12:15:46.261  32094-32094/com.example.Android I/MultiDex﹕ VM with version 1.6.0 does not have multidex support
01-26 12:15:46.261  32094-32094/com.example.Android I/MultiDex﹕ install
01-26 12:15:46.261  32094-32094/com.example.Android I/MultiDex﹕ MultiDexExtractor.load(/data/app/com.example.Android-1.apk, false)
01-26 12:15:46.271  32094-32094/com.example.Android I/MultiDex﹕ loading existing secondary dex files
01-26 12:15:46.271  32094-32094/com.example.Android I/MultiDex﹕ load found 1 secondary dex files
01-26 12:15:46.276  32094-32094/com.example.Android I/MultiDex﹕ install done
01-26 12:15:46.281  32094-32094/com.example.Android I/PersonaManager﹕ getPersonaService() name persona_policy
01-26 12:15:46.291  32094-32094/com.example.Android D/AndroidRuntime﹕ Shutting down VM
01-26 12:15:46.291  32094-32094/com.example.Android W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41887c08)
01-26 12:15:46.296  32094-32094/com.example.Android E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.Android, PID: 32094
    Java.lang.NoClassDefFoundError: io.fabric.sdk.Android.Kit[]
            at com.example.Android.ExampleApplication.onCreate(ExampleApplication.Java:16)
            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)
01-26 12:15:52.016  32094-32094/com.example.Android I/Process﹕ Sending signal. PID: 32094 SIG: 9

build.gradle

  buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/repo' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.14.4'
    }
}
apply plugin: 'com.Android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://raw.github.com/beshkenadze/dozer/mvn-repo' }
    maven { url 'https://maven.fabric.io/repo' }
}

...

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    ...
    // Crashlytics Kit
    compile('com.crashlytics.sdk.Android:crashlytics:2.2.0@aar') {
        transitive = true
    }
}

afterEvaluate {
    tasks.matching {
        it.name.startsWith('dex')
    }.each { dx ->
        if (dx.additionalParameters == null) {
            dx.additionalParameters = []
        }
        dx.additionalParameters += '--multi-dex'
        dx.additionalParameters += "--main-dex-list=$projectDir/multidex.keep".toString()
    }
}

ExampleApplication.Java

    package com.example.Android;

import Android.support.multidex.MultiDexApplication;

import com.crashlytics.Android.Crashlytics;

import io.fabric.sdk.Android.Fabric;

public class ExampleApplication extends MultiDexApplication {

    private ExampleManager mManager;

    @Override
    public void onCreate() {
        super.onCreate();
        Fabric.with(this, new Crashlytics());

        mManager = ExampleManager.getInstance();
        mManager.init(getApplicationContext());
    }
}

multidex.keep

Android/support/multidex/BuildConfig.class
Android/support/multidex/MultiDex$V14.class
Android/support/multidex/MultiDex$V19.class
Android/support/multidex/MultiDex$V4.class
Android/support/multidex/MultiDex.class
Android/support/multidex/MultiDexApplication.class
Android/support/multidex/MultiDexExtractor$1.class
Android/support/multidex/MultiDexExtractor.class
Android/support/multidex/ZipUtil$CentralDirectory.class
Android/support/multidex/ZipUtil.class
com/example/Android/ExampleApplication.class

progurad-rules.pro

-dontoptimize
-dontobfuscate
#-optimizationpasses 5
-printusage unused.txt
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-keepattributes SourceFile,LineNumberTable
-keepattributes *Annotation*
-keepattributes InnerClasses

#Project

-keep public class com.example.Android.** { *; }
-dontwarn com.example.Android.**
-dontwarn com.example.Android.db.**
-keep public class com.example.Android.db.** { *; }

# JavascriptInterface Proguard RULES
-keepclassmembers class * {
    @Android.webkit.JavascriptInterface <methods>;
}

-keepattributes JavascriptInterface
-keep public class com.example.Android.ui.view.EditorView$EditorInterface
-keep public class * implements com.example.Android.ui.view.EditorView$EditorInterface
-keepclassmembers class com.example.Android.ui.view.EditorView$EditorInterface {
    <methods>;
}

# Libs
#-libraryjars libs/AF-Android-SDK-v2.3.1.11.jar
#-libraryjars libs/aws-Android-sdk-1.7.1.1-core.jar
#-libraryjars libs/aws-Android-sdk-1.7.1.1-s3.jar
#-libraryjars libs/FlurryAnalytics_3.3.3.jar
#-libraryjars libs/Parse-1.4.3.jar
#-libraryjars libs/google-play-services-STRIPPED.jar
#-libraryjars ../bypass-library/libs/bypass.jar

# Models
-keep class com.example.Android.api.data.** { *; }
-keep class com.example.Android.model.** { *; }

# Bypass
-keep class in.uncod.Android.bypass.** { *; }

# Butterknife
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}

# Parse.com
-dontwarn com.parse.FacebookAuthenticationProvider*
-dontwarn com.parse.FacebookAuthenticationProvider
-dontwarn com.parse.ParseFacebookUtils
-dontwarn com.parse.**
-keep class com.parse.** { *; }

# AWS SDK for Android
-keep class org.Apache.commons.logging.**               { *; }
-keep class com.amazonaws.services.sqs.QueueUrlHandler  { *; }
-keep class com.amazonaws.javax.xml.transform.sax.*     { public *; }
-keep class com.amazonaws.javax.xml.stream.**           { *; }
-keep class com.amazonaws.services.**.model.*Exception* { *; }
-keep class org.codehaus.**                             { *; }
-keep class com.amazonaws.internal.config.** { *; }
-keepattributes Signature,*Annotation*

-dontwarn javax.xml.stream.events.**
-dontwarn com.fasterxml.jackson.**
-dontwarn org.Apache.commons.logging.impl.**
-dontwarn org.Apache.http.conn.scheme.**
-dontwarn com.amazonaws.AmazonWebServiceRequest
-dontwarn com.amazonaws.ClientConfiguration
-dontwarn com.amazonaws.DefaultRequest
-dontwarn com.amazonaws.RequestClientOptions
-dontwarn com.amazonaws.auth.**
-dontwarn com.amazonaws.http.AmazonHttpClient
-dontwarn com.amazonaws.http.ExecutionContext
-dontwarn com.amazonaws.http.impl.**
-dontwarn com.amazonaws.internal.config.HttpClientConfig
-dontwarn com.amazonaws.internal.config.InternalConfig
-dontwarn com.amazonaws.internal.config.SignerConfig
-dontwarn com.amazonaws.metrics.ServiceLatencyProvider
-dontwarn com.amazonaws.org.Apache.http.**
-dontwarn com.amazonaws.retry.RetryPolicy
-dontwarn com.amazonaws.util.**
-dontwarn com.amazonaws.org.joda.**
-dontwarn com.amazonaws.javax.**
-dontwarn org.Apache.commons.**

# Android
-keep public class * extends Android.app.Activity
-keep public class * extends Android.webkit.WebView
-keep public class * extends Android.app.Application
-keep public class * extends Android.app.Fragment
-keep public class * extends Android.app.ListActivity
-keep public class * extends Android.app.Service
-keep public class * extends Android.content.BroadcastReceiver
-keep public class * extends Android.content.ContentProvider
-keepclasseswithmembers class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(Android.content.Context, Android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(Android.content.Context, Android.util.AttributeSet, int);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(Java.lang.String);
}

-keepclassmembers class * {
    public void onClickUpdate(Android.view.View);
}

-keep class * implements Android.os.Parcelable {
  public static final Android.os.Parcelable$Creator *;
}

-keep class * extends Java.util.ListResourceBundle {
   protected Object[][] getContents();
}


# Google API
-keep class com.google.** { *;}
-keep interface com.google.** { *;}
-dontwarn com.google.**

-dontwarn Sun.misc.Unsafe
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-keepattributes *Annotation*,Signature
-keep class * extends com.google.api.client.json.GenericJson {
*;
}

-keep class * extends Java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.Android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.Android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.Android.gms.common.annotation.KeepName *;
}

-keepnames class * implements Android.os.Parcelable {
    public static final ** CREATOR;
}


# Squareup
-dontwarn com.squareup.okhttp.**

# Joda-Time
-dontwarn org.joda.time.**

# EventBus
-keepclassmembers class ** {
    public void onEvent*(**);
}

# Annotation
-keepattributes *Annotation*

# Retrofit
-keep class com.google.gson.** { *; }
-keep class com.google.inject.** { *; }
-keep class org.Apache.http.** { *; }
-keep class org.Apache.james.mime4j.** { *; }
-keep class javax.inject.** { *; }
-keep class retrofit.** { *; }
-keep class com.example.testobfuscation.** { *; }
-keepattributes Signature
-keep class Sun.misc.Unsafe { *; }
-dontwarn rx.**

# Scribe oAuth
-keep class org.scribe.** {
    *;
}
-keep class javax.xml.bind.DatatypeConverter
-dontwarn javax.xml.bind.DatatypeConverter
-dontwarn org.scribe.**

#Roundview
-dontwarn com.makeramen.**

#Android.support.v4
-dontwarn Android.support.v4.**

-keepclasseswithmembers class io.fabric.sdk.Android.** {
  *;
}

-keep public class * extends io.fabric.sdk.Android.Kit.**
-keep class * implements io.fabric.sdk.Android.KitGroup.**
0
Arpit Patel