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.
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)
- Stacktrace of the uncaught exception
- User journey footprints along with the bundle data
- Option to export this detail via email \
demo_crash_report.mp4
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'
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.
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)
},
)
Support it by joining stargazers for this repository 🌟
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.