2015-08-25 4 views
22

У меня возникла проблема, и я не знаю, как ее исправить.Crashlytics Fabric: Не удалось выполнить задачу

Мой проект использует crashlytics, но это всегда краш и не отправляется отчет. У меня есть TimeoutException:

08-25 03:04:31.876 2856-2856/connectivit.app E/Fabric﹕ Failed to execute task. 
java.util.concurrent.TimeoutException 
     at java.util.concurrent.FutureTask.get(FutureTask.java:176) 
     at com.crashlytics.android.core.CrashlyticsExecutorServiceWrapper.executeSyncLoggingException(CrashlyticsExecutorServiceWrapper.java:44) 
     at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:275) 
     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) 
     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 
--------- beginning of crash 
08-25 03:04:31.876 2856-2856/connectivit.app E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: connectivit.app, PID: 2856 
java.lang.RuntimeException: Unable to start activity ComponentInfo{connectivit.app/connectivit.app.Activity.Main.MainActivity}: java.lang.RuntimeException: This is a crash 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
Caused by: java.lang.RuntimeException: This is a crash 
     at connectivit.app.Activity.Main.MainActivity.initTabs(MainActivity.java:117) 
     at connectivit.app.Activity.Main.MainActivity.onCreate(MainActivity.java:57) 
     at android.app.Activity.performCreate(Activity.java:5933) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

EDIT

Мой build.gradle файл:

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://jitpack.io" } 
    maven { url 'https://maven.fabric.io/public' } 
} 

android { 
    signingConfigs { 
     release { 
      keyAlias 'android.keystore' 
      storeFile file('/Users/jordan/android.keystore.jks') 
      storePassword "" 
      keyPassword "" 
     } 
     config { 
      keyAlias 'androiddebugkey' 
      keyPassword 'android' 
      storeFile file('/Users/jordan/.android/debug.keystore') 
      storePassword 'android' 
     } 
    } 
    compileSdkVersion 23 
    buildToolsVersion '23' 
    defaultConfig { 
     applicationId “com.test" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 12 
     versionName '1' 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 

    buildTypes { 
     debug { 
      versionNameSuffix "-DEBUG" 
     } 
     release { 
      minifyEnabled true 
      zipAlignEnabled true 

      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.release 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/ASL2.0' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
    } 
    lintOptions { 
     // set to true to turn off analysis progress reporting by lint 
     quiet false 
     // if true, stop the gradle build if errors are found 
     abortOnError false 
     // if true, only report errors 
     ignoreWarnings true 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    //--- Android 
    compile 'com.android.support:design:23.0.0' 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile 'com.android.support:multidex:1.0.0' 

    //--- Fabric 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
} 

Crashlytics инициализации:

public class MyApplication extends MultiDexApplication { 

@Override 
public void onCreate() { 
    super.onCreate(); 

    Fabric.with(this, new Crashlytics()); 

    if (!BuildConfig.DEBUG) { 
     Log.d("Ez", "Release mode. Crashlytics enable"); 
     //Fabric.with(this, new Crashlytics()); 
    } else { 
     Log.d("Ez", "Debug mode. Crashlytics disable"); 
    } 

    throw new RuntimeException("This is a crash"); 
    } 
} 
+0

разместим ваш build.gradle и ваша инициализация Crashlitycs. –

+0

Вы можете найти мою build.gradle и мою инициализацию crashlitycs в моем предыдущем сообщении –

+0

Вы пытались бросить исключение во время выполнения в другое время на жизненном цикле? например onResume в вашем первом действии – dumazy

ответ

-2

Согласно Crashlytics опорной направляющей:

Убедитесь, что наш SDK линия после всех других третьих сторон SDKs

Так попытайтесь установить Fabric.with(this, new Crashlytics()); после все вашей другой связанной инициализации SDK, если таковые имеются. Если никакой другой инициализации sdk нет, попробуйте установить его после инициализации BuildConfig.

public class MyApplication extends MultiDexApplication { 

@Override 
public void onCreate() { 
    super.onCreate(); 

    if (!BuildConfig.DEBUG) { 
     Log.d("Ez", "Release mode. Crashlytics enable"); 
     //Fabric.with(this, new Crashlytics()); 
    } else { 
     Log.d("Ez", "Debug mode. Crashlytics disable"); 
    } 
    Fabric.with(this, new Crashlytics()); 

    throw new RuntimeException("This is a crash"); 
    } 
} 
-2

Возможно, у вас есть другая библиотека, вызывающая эту ошибку. Попробуйте удалить его,

, например, вы можете попробовать

maven { url "https://jitpack.io" } 
0

Для тех, кто еще борется с этим, я решил его установкой андроида студии ткани плагин непосредственно через Настройки-> Плагины Android Studio и пусть плагин редактирования мой код в градиенте. Вы можете увидеть это сделано здесь: https://www.youtube.com/watch?v=Qvqr6vGzxIs

2

Я установил TimeoutException, добавив следующее в мой build.gradle

ext.enableCrashlytics = true 

Или если у вас есть несколько расширений уже:

ext { 
    ... 
    enableCrashlytics = true 
}