Articles of crashlytics

Crashlytics Android SDK – 自定义UncaughtExceptionHandler

是否可以在一个应用程序中包含自定义UncaughtExceptionHandler和crashlytics? 如果是 – 如何?

Android Studio调试器应用程序因InterruptedException崩溃

在今天工作的时候,似乎突然间我无法再调试我们的应用程序了。 有趣的是,如果我正常运行应用程序它会工作得很好。 为了澄清,我整个上午都在运行调试器而没有发生任何事故(除了偶尔的故障或崩溃)。 然后在午餐后它开始失败100%的时间。 当然,我一整天都在做出改变,因此“似乎”在上面。 所以,这里有一些相关的细节: Android Studio 2。1。1(2016年4月28日版) 这个应用程序启动登录屏幕。 然后,用户必须使用调用外部服务的用户名/密码进行身份validation。 我可以进入登录屏幕,但应用程序将始终在身份validation过程中的同一点崩溃。 这是堆栈跟踪: 05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/Crashlytics: Failed to execute task. java.lang.InterruptedException at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:375) at java.util.concurrent.FutureTask.get(FutureTask.java:162) at com.crashlytics.android.va(SourceFile:1936) at com.crashlytics.android.v.uncaughtException(SourceFile:307) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/AndroidRuntime: FATAL EXCEPTION: pool-5-thread-1 Process: com.mycomp.myapp.test, PID: 2399 java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1991) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2025) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035) at […]

Crashlytics已弃用方法已禁用()

使用Crashlytics + Fabric for Android时,有一种非常简单的方法可以启用和禁用崩溃报告。 我使用它,所以在开发和测试期间,没有大量的崩溃警告每个人。 Crashlytics crashlytics = new Crashlytics.Builder().disabled(true).build(); 现已弃用disabled(boolean)方法。 有没有人知道替换是用于以编程方式禁用和启用crashlytics的?

从Crashlytics下载IPA / APK

我正在使用Crashlytics分发Beta测试应用。 虽然从Crashlytics应用程序在设备上安装应用程序非常简单方便,但我还是无法弄清楚如何从Crashlytics服务器上只下载IPA。 背景:我需要获得IPA / APK进行自动化测试。 我的测试环境将重新签署IPA以便能够将其安装到测试设备,因此使用Crashlytics app方式不起作用。 我需要的是IPA / APK的下载链接,因为它曾经在TestFlight或Hockeyapp中提供。

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 […]

如何仅从AAR导入选定的本机库ABI?

我有一点不寻常的问题 – 我的Android应用程序包含本机库,我为armeabi-v7a和x86构建了本机库。 但是,现在我需要将第三方库集成到我的应用程序中,该应用程序还包含本机库(第三方库是Crashlytics ,我从build.gradle通过Maven包含它)。 问题是第三方图书馆的AAR提供所有架构(armeabi,arm64-v8a,armeabi-v7a,mips,mips64,x86和x86_64),我的应用程序仅支持armeabi-v7a和x86(arm64-v8a计划在不久的将来) ,所以当最终的apk构建时,它包含第三方库的所有ABI,并且只有我的本机代码的x86和armeabi-v7a ABI。 这会导致我的应用程序在像Galaxy S6这样的arm64设备上启动时崩溃。 我的问题是:是否可以仅包含来自第三方AAR的选定ABI? 请注意,我知道APK分裂 ,但这只能部分地解决我的问题,即只有当我通过Play商店分发我的应用程序时才有效。 虽然Play商店支持beta测试发布,但更新APK的传播速度相当慢,因此在推送应用PlayStore测试版频道的更新之前,我们通过Crashlytics的beta发布系统推送更新,速度要快得多。 问题是Crashlytics的distibution系统不支持APK拆分(或者我错了吗?)。 因此,我实际上需要构建一个仅包含选定ABI的“通用”APK。 怎么实现呢? 虽然我会满意Crashlytics特定的答案(例如,如何通过他们的测试版渠道分发APK分割),但我会对构建仅包含选定ABI的“通用”APK的解决方案更满意,因为在我们公司还向客户提供SDK作为AAR档案,其中仅包含支持的架构,我们希望在他们将SDK与支持不同ABI的其他SDK集成时如何处理案例。 我正在使用最新稳定的Android工作室(1.2.1.1),gradle 2.4和android gradle插件版本1.2.3。

Crashlytics(Fabric)将应用程序变体(构建types,产品风格)分开组织

这是一个自我回答的问题,可以分享我的知识。 我有一个具有多种产品风格的项目,我希望使用不同的组织为每种产品风格整合Fabric。 我尝试使用Android Studio Fabric插件集成Fabric。 它补充道 进入main源集的AndroidManifest.xml 。 我决定在应用程序变体特定的源集中重写此条目: 然后我发现Fabric Gradle插件在构建期间生成了带有fabric api secret(AKA build secret)的crashlytics.properties文件,我应该将此文件包含在源代码控制中。 但是每次构建特定的应用程序变体时都会覆盖此文件,因为api secret对于每个应用程序都是唯一的。 如何针对每种应用程序变体使用单独的组织集成Fabric?

Android无法在PackageManager io.crash.air中find此应用程序

我正在使用Android studio和Fabric插件。 我已经能够向Fabric报告崩溃了。 我的应用程序的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://maven.fabric.io/public’ } } android { compileSdkVersion 23 buildToolsVersion “23.0.3” defaultConfig { applicationId “com.xxx.yyy” minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } […]

你如何在Crashlytics中设置时区?

你如何在Crashlytics中设置时区? 它现在以UTC显示,我没有看到允许您更改它的设置。

应用程序崩溃与本机代码

Crashed: .onlineradioapp| 0 gralloc.rk30board.so 0xb4a2d616 bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 1 gralloc.rk30board.so 0xb4a315c9 (Missing) 2 gralloc.rk30board.so 0xb48e2465 art::JValue art::interpreter::ExecuteGotoImpl<true, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue) 3 gralloc.rk30board.so 0xb4a1349d artInterpreterToInterpreterBridge 4 gralloc.rk30board.so 0xb4a2d031 bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) 5 gralloc.rk30board.so 0xb48f2fef art::JValue art::interpreter::ExecuteGotoImpl<false, false>(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, […]