您可以通过以下链接找到帮助

Writing crash reports into device sd card

您不需要添加外部库.

import com.wordpress.doandroid.Training.R;

import android.app.Activity;

import android.os.Bundle;

public class CaptureExceptionActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Sets the default uncaught exception handler. This handler is invoked

// in case any Thread dies due to an unhandled exception.

Thread.setDefaultUncaughtExceptionHandler(new CustomizedExceptionHandler(

"/mnt/sdcard/"));

String nullString = null;

System.out.println(nullString.toString());

setContentView(R.layout.main);

}

}

和Handler实现

import java.io.File;

import java.io.FileWriter;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.io.Writer;

import java.lang.Thread.UncaughtExceptionHandler;

import java.text.SimpleDateFormat;

import java.util.Date;

import android.os.Environment;

import android.util.Log;

public class CustomizedExceptionHandler implements UncaughtExceptionHandler {

private UncaughtExceptionHandler defaultUEH;

private String localPath;

public CustomizedExceptionHandler(String localPath) {

this.localPath = localPath;

//Getting the the default exception handler

//that's executed when uncaught exception terminates a thread

this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();

}

public void uncaughtException(Thread t,Throwable e) {

//Write a printable representation of this Throwable

//The StringWriter gives the lock used to synchronize access to this writer.

final Writer stringBuffSync = new StringWriter();

final PrintWriter printWriter = new PrintWriter(stringBuffSync);

e.printStackTrace(printWriter);

String stacktrace = stringBuffSync.toString();

printWriter.close();

if (localPath != null) {

writeToFile(stacktrace);

}

//Used only to prevent from any code getting executed.

// Not needed in this example

defaultUEH.uncaughtException(t,e);

}

private void writeToFile(String currentStacktrace) {

try {

//Gets the Android external storage directory & Create new folder Crash_Reports

File dir = new File(Environment.getExternalStorageDirectory(),"Crash_Reports");

if (!dir.exists()) {

dir.mkdirs();

}

SimpleDateFormat dateFormat = new SimpleDateFormat(

"yyyy_MM_dd_HH_mm_ss");

Date date = new Date();

String filename = dateFormat.format(date) + ".STACKTRACE";

// Write the file into the folder

File reportFile = new File(dir,filename);

FileWriter fileWriter = new FileWriter(reportFile);

fileWriter.append(currentStacktrace);

fileWriter.flush();

fileWriter.close();

} catch (Exception e) {

Log.e("ExceptionHandler",e.getMessage());

}

}

}

不要忘记在清单WRITE_EXTERNAL_STORAGE中添加此权限

android 保存崩溃信息,Android保存每次运行崩溃报告的日志相关推荐

  1. android简易学生信息,Android studio应用程序设计——简单的学生信息录入应用app

    界面设计:界面样式如图所示 界面设计的主要代码: Java实现部分代码 package com.example.myapplication2_1; import android.content.Con ...

  2. java保存登录信息_java – 保存登录详细信息(首选项)android

    我有一个具有登录,注销功能的Android应用程序.登录表单包含用户名和密码以及登录按钮.我想在用户选中"记住我"复选框时保存用户名和密码. 我的project.java文件如下所 ...

  3. android保存编辑信息,android文件存储之preference,解决程序界面改动信息保存

    非完整的项目代码,仅有preference的存储数据和读取的部分内容. 数据存储: String str = ""; //存储所有字符串信息 String temp = " ...

  4. android编程设备信息,Android获取当前手机设备信息工具类详解

    工作中用到的图片处理工具类,简单写下来,以便备用! public class BitmapUtils { /** * 图像背景圆角处理 * bitmap要处理的图片 roundPx 图片弯角的圆度一般 ...

  5. android apk 的信息,Android中获取apk基本信息

    一 PackageManager可以获得的所有包节点信息: 1,所有节点的基类:PackageItemInfo: 2,PackageInfo:package的全面信息,与AndroidManifest ...

  6. android查看cpu信息,Android使用adb命令查看CPU信息

    Android中使用JNI编程的时候会需要编译出不同的SO文件,以供适配不同的机型. 例如: 由此需要查看不同机型的CPU信息. 使用ADB命令查看CPU信息命令如下: 1. adb shell 2. ...

  7. 【Android应用开发】 Android 崩溃日志 本地存储 与 远程保存

    示例代码下载 : http://download.csdn.net/detail/han1202012/8638801; 一. 崩溃日志本地存储 1. 保存原理解析 崩溃信息本地保存步骤 : -- 1 ...

  8. android查找邮件程序,Android 程序崩溃日志邮件获取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在我们开发Android应用程序的时候,BUG的出现是难以避免的,时不时还会出现崩溃的情况,这个时候,我们急需知道造成问题的原因是什么,但是,在没 ...

  9. android文件存储数组,Android面试简录——文件存储

    * SharedPreferences 请描述Android SDK支持哪些文件存储技术? 1.SharedPreferences保存key-value类型的数据 2.流文件存储(openFileOu ...

最新文章

  1. 李航等提出多粒度AMBERT模型,CLUE、GLUE上优于BERT,中文提升显著
  2. Java实现最小堆一
  3. 九度 题目1548:平面上的点
  4. ubuntu安装mysql_Ubuntu18.04下安装MySQL
  5. 新发现的两个Delphi要点。
  6. apache开源项目--thrift
  7. 正则表达式 转义字符
  8. LeedCode知识点之位运算
  9. 天翼云高可用虚拟IP(HAVIP)实践
  10. IDEA 导入p3c-formatter 格式化代码
  11. 服务器装系统报0x0000005d,虚拟机无法安装win10系统提示错误代码0x0000005D怎么办...
  12. 看了本文让你laravel安装laravel-queue-rabbitmq一路顺风
  13. 服务器cpu都有哪些型号,盘点目前性价比最高的CPU有哪些型号
  14. 2019 NeurIPS | Graph Transformer Networks
  15. 什么是5G LAN 5G LAN商用爆发推动5G创新应用 提速数字转型新引擎
  16. 推荐几个在线处理文件、图片、音视频的工具,免费又好用!
  17. 阿里云最新可申请试用云产品汇总(免费领阿里云服务器)
  18. steam同乐无法连接远程计算机,Steam远程同乐功能怎么使用_Steam远程同乐功能使用方法_3DM单机...
  19. 到北京软通动力做项目经理怎么样?
  20. 概论_第2章_一维均匀分布的概率公式

热门文章

  1. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
  2. mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
  3. 解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
  4. AndroidStudio导入项目一直卡在Building gradle project info最快速解决方案
  5. java.lang.classnotfoundexception解决方法
  6. c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案
  7. 程序运行过程中遇到“ORA-03114: not connected to ORACLE”的问题解决
  8. 循环前增加和后增加之间的区别?
  9. 用PHP漂亮打印JSON
  10. 访问“ for”循环中的索引?