Product and mobile app analytics insights from industry experts
Globe iconEN
  • America IconEnglish
  • Brazil IconPortuguês
  • Spain IconEspañol



Android Crash Reporting: Best Tools 2023


2 January, 2023

Jonas Kurzweg
Jonas Kurzweg

Growth Lead

android crash reporting tools

Android crash reporting is crucial — unsolved issues can lead to 1-star user reviews and quick uninstalls.

We highlight the best android crash reporting tools on the market and give you best practices for your crash reporting.

Best Android Crash Reporting Tools

Android crash reporting is a simple process. Your crash reporting tools need to fulfill the following requirements:

1.) Find issues and notify you of them 2.) Give access to the crash log 3.) Get context on events and user actions that caused the crash 4.) Provide tools to monitor the health of your app

Without further ado, let’s get to the tools.


Finding crashed sessions AND getting context on it is perhaps the hardest thing about solving app issues.

You can do precisely that with UXCam – an app analytics tool for mobile apps. Start with the crashed sessions report.

Bildschirmfoto 2020-09-25-um-171025-1-1024x531png

Now you’ll get a list of all sessions that crashed. You’ll find information about the device, location, and time when crashes occurred.

You can click on a session to dive deeper. You can watch the session replay to get more context on how the crash happened.

Next, you can click on “Crash” to open up the crash code log.

Bildschirmfoto 2020-09-25-um-171058-1-1024x534png

UXCam tracks all crash types — from stack overflow to out-of-bonds. It even detects ANR (Application not responding) errors.

You can review and copy the crash log to fix it quickly.

Bildschirmfoto 2020-09-25-um-171118-1-1024x530png

To look at crashes on a macro-level, you can use UXCam’s Session Analytics Report. You can go to the crash-tile and group the data by app version, device, or OS version.

In doing so, you’ll quickly find out if a specific app version or device causes any problems.

Bildschirmfoto 2020-09-25-um-171151-1png

Get started with UXCam risk-free trial now — with 100,000 free monthly sessions and unlimited features.


Crashlytics is a part of Google Firebase (you can find our honest review for Firebase here) and offers a detailed android crash reporting.

Firebase Crashlytics gives you an overview of the health of your app. It also sends you realtime alerts when new issues appear or existing issues grow.

Additionally, Crashlytics offers advice that helps to cure common crash causes.

However, Crashlytics doesn’t give you the full context on crashes as UXCam does with video sessions. You can integrate UXCam with Crashlytics though. This will create a link to the session replay inside the Firebase crash report.

Screenshot 2019-09-30-at-190142-1024x684png

Android Crash Reporting Best Practices

Many performance issues show up unexpectedly…

  • …when something doesn’t work as planned.

  • …when there are more users or a bigger amount of data as expected.

  • …when the app is only tested in a laboratory environment under perfect conditions.

  • …and unfortunately, they can just be replaced costly.

Perhaps the most important tip for android crash reporting is to test early, often, and under realistic conditions.

Get your Free Guide: How to Detect Hidden User Frustrations

Performance testing is a collection of repeated smaller tests

A single crash report won’t tell the developers everything they need to know. To gather expressive and useful data, a combination of smaller tests is needed.

Moreover, it is not useful to test the whole system at once and at the end of the development cycle. An app consists of several parts such as the server, database, service, and the device it is used on.

Test the different parts separately as well as together. But: Testing each part individually doesn’t equal to testing the whole system!

Make performance testing part of the unit tests

Many times performance testing is isolated and shifted backward until the end of the development process. The problem is that it gets more difficult and costly to make changes to the product later.

To get around this problem, it’s good to implement the performance testing to the unity tests or make it part of the agile development test. This helps to identify performance issues early and solve them during the development process.

Set up realistic benchmarks

One strategy which could be followed is to stress test the app with thousands or millions of users and data.

This gives an overview of how much the app can handle at maximum, but doesn’t give a picture of the performance in real-world scenarios where traffic arrives from different devices and operating systems at different times.

It’s more realistic to play around with number of devices, systems, and numbers of users. Set up testing environments with the apparently random splitting of devices.

At the same time, the simulation shouldn’t start from zero. The app normally doesn’t start with no server utilization, there will always be users who already have the app and use the server capacity. A realistic test should represent this.

Understand the performance from the user’s perspective

It is easy to cheat during performance testing. The measured speed and the perceived performance from the user’s perspective are not necessarily the same.

Performance metrics tend to focus on the server performance but don’t include the user experience. Additionally, for performance tests, other tests like beta versions and user feedback should be reviewed.

Repeat the tests again and again

Especially during the app development lifecycle, the app gets changed every day. Even if the changes are very small the effects can be huge.

Getting good outcomes at one point in the development process doesn’t mean that this will last until the end. Good performance at a low or medium amount of load doesn’t mean that this will be the same when the load increases.

Extrapolated results can be dangerous. Also, it works in the opposite direction. No minimum performances and requirements based on load tests may be derived from this.

All assumptions should be verified by performance tests.

Test under different network conditions

In the real world, the network conditions of users are constantly changing. They change from one network to another, from low covered regions to completely covered ones to WiFi.

There are hand-overs between different networks. Unforeseen problems can occur quickly and should be avoided as much as possible.

Mobile application performance tests and android crash reporting should run under different and changing network conditions.

Set up as many performance scenarios as necessary

Not every performance problem can be measured during one performance testing scenario.

But there can be restrictions due to the resources for testing. The solution is somewhere in the middle.

The scenarios which are most important, riskiest, and have the greatest impact should be tested.

Combine qualitative and quantitative analytics

Simply being fast isn’t enough for sophisticated users.

An app has to be error-free, bug-free, and user-friendly as well. The combination of quantitative analytics like performance testing and qualitative analytics will increase the app’s success.

Qualitative tools like UXCam provide options like android crash reporting, heatmaps, and video session replays to analyze the app from a user’s point of view.

Try UXCam for FREE now — with 10,000 free monthly sessions and unlimited features.

Related Articles;


Jonas Kurzweg
Jonas Kurzweg

Growth Lead

UX, marketing & product nerd. Coffee enthusiast. Working at UXCam.

Get the latest from UXCam

Stay up-to-date with UXCam's latest features, insights, and industry news for an exceptional user experience.

First name
Work email*
Thanks for submitting the form.

Related articles

Product best practices

App Onboarding Guide: Top 10 Onboarding Flow Examples 2023

Take a look at 10 examples of mobile apps that get user onboarding flows right. Get inspired by proven app onboarding approaches and improve your...

Jonas Kurzweg
Jonas Kurzweg

Growth Lead

Product best practices

Double Diamond Model - A Guide for Mobile Product Teams

Master the Double Diamond Model with our guide tailored for mobile product teams: learn how to navigate discovery, definition, development, and delivery...

Tope Longe
Tope Longe

Growth Manager

Product best practices

Product Feedback Loop - How to Implement One for Mobile Apps

Explore our guide on creating a feedback loop for mobile app products, covering strategies to gather, analyze, and implement user feedback...

Tope Longe
Tope Longe

Growth Manager

UXCam logo



    Logo SOC2

    UXCam has successfully completed a SOC 2 Type 2 examination by Johanson Group.

Sign up for our newsletter

First name
Work email*
Thanks for submitting the form.

© 2023 UXCam. All rights reserved.

Privacy policy.

Terms of service.