Skip to content

A forensic technician that analyses the evidence taken from app crash (crime scene) and provides detailed reports for further proceedings.

License

Notifications You must be signed in to change notification settings

hardikm9850/Dexter

Repository files navigation

Dexter

API Twitter

Dexter records global crashes and offers easy redirection to the exception tracing screen; moreover, it outlines footprints of Activity/Fragment along with the respective bundle data.

🌧 Use case :

The QA team may frequently raise a problem relating to an app crash that is either unique or difficult to duplicate. Without stacktrace information, it is difficult for us developers to determine the root problem.

Dexter to the rescue
With Dexter, the QA team would share the stacktrace info and user journey footprints to the development team. This approach may spare the developers from the headache of having to manually carry out the actions to identify the root cause (read exception)

✨Features

  • Stacktrace of the uncaught exception
  • User journey footprints along with the bundle data
  • Option to export this detail via email \

▶️ Demo

demo_crash_report.mp4

⚒ Download

Gradle

Make sure that the following is part of your project-level build.gradle file:

repositories {
        // ...
        maven { url 'https://jitpack.io' }
}

Add the dependency below to your module's build.gradle file:

implementation 'com.github.hardikm9850:Dexter:$latest_version'

Usage

You can seamlessly install Dexter using the following example:

class MyApp : Application() {

  override fun onCreate() {
    super.onCreate()
    DexterInstaller.setup(application = this)
  }
}

It's recommended to install Dexter in your Application class or your initialization alternatives, for example App Startup.

Tracing Global Exceptions

You can trace global exceptions via the lambda argument 'defaultExceptionHandler'. If you wish to collect and report exceptions to other platforms, such as Firebase Crashlyrics, this can be handy.

DexterInstaller.setup(
            application = this,
            defaultExceptionHandler = { thread, throwable ->
                Firebase.crashlytics.log(exception.stackTrace)
            },
)

Find this repository useful? ❤️

Support it by joining stargazers for this repository 🌟

License

Designed and developed by 2023 Hardik Mehta

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

A forensic technician that analyses the evidence taken from app crash (crime scene) and provides detailed reports for further proceedings.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages