2015-09-25 2 views
17

У меня есть некоторые проблемы с Fabric/Crashlytics.Crashlytics/Fabric не сообщают о сбоях на Android

Я использую Android Studio 1.3.2

Вот

buildscript { 
    repositories { 
     jcenter() 
     maven { url 'https://maven.fabric.io/public' } 
    } 
    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 

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

android { 
... 
} 

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

Я добавил ключ АФИ в манифесте мой build.gradle (я добавил com.crashlytics.ApiKey мета-данных, а также как io.fabric.ApiKey).

Я начинаю ткань в классе Application

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

Проблема заключается в том, что бета-версия работает (я могу поделиться, обновлением, откройте приложение), ответы работают (Сессии перечислены и все), я могу даже исключение журнала с

Crashlytics.logException("Test"); 

И нефатальные аварии будут добавлены в приборную панель Fabric.

Но по какой-либо причине «смертельные» аварии не сообщаются и не отправляются в Ткань. Может кто-нибудь, пожалуйста, помогите мне? Что может быть причиной? Что я делаю не так?

Btw - это началось после обновления от Crashlytics to Fabric. Я переустановил плагин, удалил приложение и добавил его снова, попробовал без плагина для Android Studio.

+2

Вы добавили «android: name =». Приложение «' в ваш файл манифеста? – slorangex

+0

У меня было это в манифесте. Не знаю точно, когда, но он только начал работать в какой-то момент. Может быть, обновление или что-то еще. Во всяком случае, сейчас хорошо. :) – dmestrovic

ответ

3

Try добавить:

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

к классу приложений, для тестового использования отчета аварии:

Crashlytics.getInstance().crash(); 

для отчета, не являющихся fatals использования:

Crashlytics.log("Your log"); 
Crashlytics.logException(new Throwable("This your not-fatal name")); 
+0

Нужно ли добавлять это в класс приложения? Или это даже будет работать, если я добавлю то же самое в класс Activity? – NarendraJi

+0

это будет работа. Я рекомендую добавить в действие, в котором есть

+2

Кажется, что Crashlytics сообщает о сбоях, только когда мое приложение подключено к студии android. Почему так? –

2

Я был немного другая проблема. Мои Crashlytics перестали регистрировать аварийные ситуации после добавления зависимостей ответов к моему проекту.

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

Решение было просто для устранения зависимости от ответов. Это вам не нужно, поскольку он уже существует в crashlytics pacakge com.crashlytics.android.answers. *.

Возможно, это будет полезно для некоторых пользователей.