自从我将Crashlytics安装到我们的应用程序中以来,我一直遇到麻烦。我无法报告崩溃应用程序。
初始安装建议我们在扩展的基本应用程序中添加启动命令 Fabric.with(this,new Crashlytics()); 。当我把它放在这里时,它不会在应用程序的任何地方报告任何崩溃。
然后我将其移至我们的登录活动中,虽然它会报告我在那里触发的崩溃,但它不会报告任何其他活动。
我已将其移至其他两项活动,并获得相同的结果。它只报告我初始化它的位置,并且仅在我初始化它一次时才有效(我无法在每个活动中初始化它)
我通过电子邮件发送了他们的支持,他们基本上说,这不是它应该如何表现,这本质上是它,没有任何建议或任何东西,我没有收到他们的进一步回复。有用的。
我之前在其他应用程序中使用过它并且工作正常,所以我不知道这里出了什么问题?
这是我的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 {
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'
}
}
答案 0 :(得分:4)
来自Fabric的迈克 - 听到您与我们的支持团队的经历非常奇怪。如果你有onCreate(),init应该在你的应用程序的子类中。您是使用多个进程还是安装了其他任何异常处理程序?如果是这样,删除其他异常处理程序,你就会好起来!
答案 1 :(得分:0)
对我有用的是在流程中分别初始化Fabric,例如,如果您单独的流程有服务,则将其添加到onCreate()方法中:
Fabric.with(this, new Crashlytics())