Android — Crashlytics не регистрирует ошибки во всем приложении, а только активность, в которой оно было инициализировано.

У меня возникли проблемы с Crashlytics с тех пор, как я установил его в наше приложение. Я не могу заставить его сообщать о сбоях в приложении.

При первоначальной установке было предложено добавить команду запуска Fabric.with(this, new Crashlytics()); в базовое приложение, которое мы расширили. Когда я поместил его сюда, он не сообщал ни о каких сбоях в приложении.

Затем я переместил его в нашу активность входа, и хотя он сообщал о сбоях, которые я вызывал там, он не сообщал ни о какой другой активности.

Я переместил его в два других вида деятельности и получил те же результаты. Он сообщает только о том, где я его инициализирую, и работает только в том случае, если я инициализирую его один раз (я не могу инициализировать его в каждом действии)

Я написал им по электронной почте в службу поддержки, и они в основном сказали, что это не так, как это должно себя вести, и это, по сути, все, никаких предложений или чего-то еще, и я не получил от них дальнейших ответов. Как полезно.

Я использовал его раньше в других своих приложениях, и он отлично работает, поэтому я не понимаю, что здесь происходит не так?

Это мой файл градиента

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

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'info.hoang8f:android-segmented:1.0.4'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.google.code.gson:gson:2.3.1'
    compile('com.crashlytics.sdk.android:crashlytics:2.2.3@aar') {
        transitive = true;
}

}
android {

defaultConfig {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"
}

productFlavors {

    flavorone{
        applicationId "ca.flavorone"
        manifestPlaceholders = xxxx

    }

    flavortwo{
        applicationId "ca.flavortwo"
        manifestPlaceholders = xxxx

    }
}

packagingOptions {
    exclude 'META-INF/ASL2.0'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/notice.txt'
    }
}

person Ben987654    schedule 24.04.2015    source источник
comment
Привет, Бен! Майк из Fabric. Очень странно слышать о вашем опыте работы с нашей службой поддержки. Инициализация должна быть в подклассе вашего приложения, если у вас есть onCreate(). Вы используете несколько процессов или у вас установлены другие обработчики исключений?   -  person Mike Bonnell    schedule 27.04.2015
comment
Привет, Майк, в базовой активности был пользовательский обработчик исключений, который кто-то написал некоторое время назад. Мне даже в голову не приходило, что это может конфликтовать. Все работает нормально, теперь, когда я удалил его. Большое спасибо!!!!   -  person Ben987654    schedule 27.04.2015
comment
Если вы поставите это как ответ, я отмечу это для вас.   -  person Ben987654    schedule 27.04.2015
comment
Приятно слышать Бена, удачного кодирования!   -  person Mike Bonnell    schedule 28.04.2015


Ответы (2)


Майк из Fabric, очень странно слышать о вашем опыте работы с нашей службой поддержки. Инициализация должна быть в подклассе вашего приложения, если у вас есть onCreate(). Вы используете несколько процессов или у вас установлены другие обработчики исключений? Если это так, удалите другие обработчики исключений, и все будет хорошо!

person Mike Bonnell    schedule 27.04.2015
comment
Проблема заключалась в пользовательском обработчике исключений. - person Ben987654; 28.04.2015
comment
Каким был другой обработчик исключений? У меня такая же проблема, и я уже пытался отключить отчеты о сбоях синтаксического анализа, но это не дало никакого эффекта. Был ли это парсинг, который вы отключили, и все заработало? - person startoftext; 24.08.2015
comment
Привет Майк, Что делать, если у меня многопроцессорный? Нужно ли мне выполнять какие-либо другие шаги?? - person Sivakumar S; 09.02.2016
comment
@SivakumarS несколько процессов или несколько потоков? Просто хочу убедиться. - person Mike Bonnell; 09.02.2016
comment
Я запускаю фоновую службу в отдельном частном «процессе». И в настоящее время я инициализирую еще один экземпляр ткани в своем сервисе. Я делаю это правильно? - person Sivakumar S; 10.02.2016
comment
Если у вас есть несколько разных процессов, вы инициализируете Fabric на каждом экземпляре. Однако это официально не поддерживается. - person Mike Bonnell; 10.02.2016
comment
Я пытаюсь найти обходной путь, чтобы я мог получить журналы сбоев на приборной панели для службы в другом процессе. Поддерживается ли этот банкомат? Есть ли заинтересованность в его реализации в ближайшем будущем? @МайкБоннелл - person marcos E.; 07.04.2017
comment
В настоящее время официальной поддержки для него нет, но в большинстве случаев он должен работать. Это не входит в нашу ближайшую дорожную карту для добавления. - person Mike Bonnell; 08.04.2017
comment
Привет, Майк, я инициализирую в Application, подкласс oncreate, но он не сообщает о каких-либо проблемах, но если я инициализирую его в моем BaseAvtivity при создании, он сразу же начинает сообщать о сбоях. Помогите! - person Adeel Turk; 17.04.2018
comment
Потребуется дополнительная информация, но я рекомендую заглянуть сюда, чтобы убедиться, что все настроено правильно: Fabric.io/kits/android/crashlytics/install - person Mike Bonnell; 17.04.2018

Что сработало для меня, так это инициализация Fabric отдельно в процессе, например, если в вашем отдельном процессе есть служба, добавьте это в свой метод onCreate():

Fabric.with(this, new Crashlytics())

person Isaias M.    schedule 04.01.2019