Blog Archive

Get access to Android Application crash logs and stacktrace

How to obtain error logs from your Android Application? I did all the testing I could possibly do and rolled out my application into the world thinking it was perfect. But like with any program got complaints that my app is crashing sometimes. Now what do I do? I don't have the device in front of me that I can hook it up with my laptop using the USB and debug. Looking thru the internet found this simple solution. It sends you the stacktrace whenever your android application crashes. Here is how to implement ...

  • Download the latest trace.jar file found here.
  • Create a lib folder in your Android Project and drop the trace.jar file in there. 
    • Then add the jar file to your project Java Build Path.
  • In your android manifest, you must enable internet access for your application
    • <uses-permission android:name="android.permission.INTERNET">
  • In the onCreate method of your activity or in your service, you must call public static boolean register(Context context) found in the class ExceptionHandler.
    • ExceptionHandler.register(this, "http://your.domain/yourpath/AndroidCrashReports");

Java Servlet Source code for AndroidCrashReports.java

package com.as400samplecode;

import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AndroidCrashReports extends HttpServlet {
    private static final long serialVersionUID = 1L;
      
    public AndroidCrashReports() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         
        String package_name = request.getParameter("package_name");
        String package_version = request.getParameter("package_version");
        String stacktrace = request.getParameter("stacktrace");
       
        DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        DateFormat timeFormat = new SimpleDateFormat("kkmmss");
       
        System.out.println("Android Error Log Start ***");
        System.out.println("Date: " + dateFormat.format(System.currentTimeMillis()));
        System.out.println("Time: " + timeFormat.format(System.currentTimeMillis()));
        System.out.println("Package name: " +  package_name);
        System.out.println("Package version: " +  package_version);
        System.out.println("Stacktrace: " +  stacktrace);
        System.out.println("Android Error Log End ***");
        System.out.println("\n\n");
       
    }

}

The application does HTTP post of the following variables
  • package_name
  • package_version
  • stacktrace

Tip: You can modify the AndroidCrashReports.java to write the info to a file.


4 comments :

  1. Thanks for a very interesting blog. What else may I get that kind of info written in such a perfect approach? I’ve a undertaking that I am simply now operating on, and I have been at the look out for such info. GroupMe for PC

    ReplyDelete
  2. thuê dịch vụ kế toán thuế tại bắc giang
    thuê dịch vụ kế toán thuế tại thái nguyên
    thuê dịch vụ kế toán thuế tại nam định
    thuê dịch vụ kế toán thuế tại thanh hóa
    thuê dịch vụ kế toán thuế tại hà nam
    thuê dịch vụ kế toán thuế tại ninh bình
    thuê dịch vụ kế toán thuế tại hà tĩnh
    thuê dịch vụ kế toán thuế tại nghệ an
    thuê dịch vụ kế toán thuế trọn gói
    thuê dịch vụ kế toán thuế trọn gói tại quận cầu giấy
    thuê dịch vụ kế toán thuế trọn gói tại quận tại từ liêm
    thuê dịch vụ kế toán thuế trọn gói tại quận thanh xuân
    thuê dịch vụ kế toán thuế trọn gói tại quận hà đông
    thuê dịch vụ kế toán thuế trọn gói tại quận long biên
    thuê dịch vụ kế toán thuế trọn gói tại quận đống đa
    thuê dịch vụ kế toán thuế trọn gói tại quận ba đình
    thuê dịch vụ kế toán thuế trọn gói tại quận tây hồ
    thuê dịch vụ kế toán thuế trọn gói tại quận hoàng mai
    thuê dịch vụ kế toán thuế trọn gói tại thanh trì
    thuê dịch vụ kế toán thuế trọn gói tại quận hoàn kiếm
    thuê dịch vụ kế toán thuế trọn gói tại quận hai bà trưng
    thuê dịch vụ kế toán thuế trọn gói tại quận thủ đức
    thuê dịch vụ kế toán thuế trọn gói tại quận bình thạnh
    thuê dịch vụ kế toán thuế trọn gói tại quận tân phú
    thuê dịch vụ kế toán thuế trọn gói tại quận gò vấp
    thuê dịch vụ kế toán thuế trọn gói tại quận phú nhuận
    thuê dịch vụ kế toán thuế trọn gói tại quận bình tân

    ReplyDelete