Code Monkey home page Code Monkey logo

uce-handler's Introduction

Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub stars

UCE Handler

Android library which lets you take control of Android App's uncaught exceptions. View, Copy, Share, Save and Email exceptions details including other useful info easily.

Tracking down all exceptions is the crucial part of the development. We could just expect that we have handled all exceptions. But whatever we do, we come across it with the so-called pop-up saying “Unfortunately, App has stopped”, that is why it is called uncaught-exceptions.

Why should you use this library? Read the answer - Handling Uncaught-Exceptions in Android

Example Animation Example Animation

Features

  • Android App lifecycle aware.
  • Catches all uncaught exceptions gracefully.
  • Displays separate screen with multiple options whenever an App crashes.
  • View, Copy, Share, and Save crash logs easily.
  • Email crash log along with the .txt file with multiple developers/receipients.
  • Completely close the crashed/unstable Application.

Logged Information

  • Device/mobile info.
  • Application info.
  • Crash log.
  • Activity track. //optional
  • All log files are placed in a separate folder.

Each Log file is named upon App's name so you can identify and distinguish files easily if you have added this library in multiple projects/applications.

Example

Download the example app here

Getting Started

Add this library to your Android project and initialize it in your Application class. Additionaly you can add developer's email addresses who will get the email of crash log along with the .txt file attached.

Setup

In your Project's build.gradle file:

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

In your Application's or Module's build.gradle file:

dependencies {
        implementation 'com.github.RohitSurwase.UCE-Handler:uce_handler:1.4'
}

In your Application class:

  • Initialize library using builder pattern.

      public class MyApplication extends Application {
      @Override public void onCreate() { 
      	...
      	// Initialize UCE_Handler Library
      	new UCEHandler.Builder(this).build();
      } }
    
Kotlin way of initialization
    UCEHandler.Builder(applicationContext).build()
For those of you who are still using Eclipse + ADT, you need to add UCEDefaultActivity manually in your App's manifest. (As suggested by Caceresenzo)
<application>
    ...
    <activity
	android:name="com.rohitss.uceh.UCEDefaultActivity"
	android:process=":error_activity"/>
</application>

Optional Parameters

.setUCEHEnabled(true/false)

// default 'true' => Enable/Disable UCE_Handler.

.setTrackActivitiesEnabled(true/false)

// default 'false' => Choose whether you want to track the flow of activities the user/tester has taken or not.

.setBackgroundModeEnabled(true/false)

// default 'true' => Choose if you want to catch exceptions while app is in background.

.addCommaSeparatedEmailAddresses("[email protected], [email protected],...)

// default - empty => Add comma separated email addresses who will receive the crash logs.

'Save Error Log' will work only if your app already has storage permission as library does not ask for it.

Authors & Contributers

License

Copyright © 2018 - 2019 Rohit Sahebrao Surwase. This project is licensed under the Apache License, Version 2.0 - see the LICENSE.md file for details

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.