源代码获取请到github:https://github.com/DrJia/AndroidLogCollector

已经做成sdk的形式,源代码已公开,源代码看不懂的请自行google。

假设想定制适应自己app的sdk请自行fork。

AndroidLogCollector

android
app崩溃日志收集sdk 1.0

作者:贾博士

崩溃日志收集方法:

1.LogCollector是lib包,在须要加入崩溃日志sdk的project中导入此包。

2.导入lib后,在自己的project的AndroidManifest.xml文件里增加权限:

        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

3.在自己的project中重写自己的application,在oncreate中增加

    LogCollector.init(getApplicationContext(), UPLOAD_URL, params);

PS:重写自己的application记得在Manifest注冊

參数:

1.Context

2.String UPLOAD_URL ,上传地址url,支持http和https方式,post方法。

3.HttpParameters params ,自己定义的类,用于post上传其它參数。

说明:

发生崩溃后,日志会保存在 /data/data/{your package name}/files/ 文件夹下

日志仅仅有一个文件,多条数据日志保存

日志文件上传成功后会自己主动删除,上传不成功则不删除

日志格式能够依据自己的需求在源代码中修改

http的post传的数据也可自行改动

參考代码:

    public class MyApplication extends Application {
//post method , upload logfile url,replace your site . support http or https
private static final String UPLOAD_URL = "http://xxxxxxxx"; @Override
public void onCreate() {
super.onCreate(); //upload logfile , post params.
HttpParameters params = new HttpParameters();
params.add("key1", "value1");
params.add("key2", "value2");
params.add("key3", "value3");
//.......
//replace your key and value; boolean isDebug = true;
//set debug mode , you can see debug log , and also you can get logfile in sdcard;
LogCollector.setDebugMode(isDebug);
LogCollector.init(getApplicationContext(), UPLOAD_URL, params);//params can be null
}
}

上传日志方法:

须要先在application中运行init,

然后在不论什么位置加入例如以下代码:

    LogCollector.upload(boolean isWifiOnly);

參数:

1.boolean isWifiOnly; true代表仅仅在wifi情况下发送,false代表有网的情况下就发送(包含流量和wifi)

您能够在service,activity等位置的合适时机触发,不会卡界面也不会影响性能。

參考代码:

    private void uploadLogFile(){
boolean isWifiOnly = true;//only wifi mode can upload
LogCollector.upload(isWifiOnly);//upload at the right time
}

调试:

在init之前调用

    LogCollector.setDebugMode(boolean isDebug);

说明:

1.开启调试后能够看到堆栈的log信息

2.同一时候能够在sd卡下的Android/data/{your package name}/Log/ 文件夹下能够查看保存的崩溃log日志

该文件夹下的日志不会自己主动删除,请及时清空,避免占用空间

android app崩溃日志收集以及上传的更多相关文章

  1. 捕android程序崩溃日志

    主要类别: package com.example.callstatus; import java.io.File; import java.io.FileOutputStream; import j ...

  2. Android利用网络编程HttpClient批量上传(一个)

    请尊重他人的劳动成果.转载请注明出处:Android网络编程之使用HttpClient批量上传文件 我曾在<Android网络编程之使用HTTP訪问网络资源>一文中介绍过HttpCient ...

  3. Android okHttp网络请求之文件上传下载

    前言: 前面介绍了基于okHttp的get.post基本使用(http://www.cnblogs.com/whoislcj/p/5526431.html),今天来实现一下基于okHttp的文件上传. ...

  4. iOS系统app崩溃日志手动符号化

    iOS系统app崩溃日志手动符号化步骤: 1.在桌面建立一个crash文件夹,将symbolicatecrash工具..crash文件..dSYM文件放到该文件夹中 a.如何查询symbolicate ...

  5. 【Android】图片(文件)上传的请求分析结构

    怎么在android中上传文件,即怎么用Java向服务器上传文件.上传图片,这是个老问题了,在网上能搜到现成的代码,很多朋友用起来也比较熟了,但是为什么这么写,可能很多朋友并不清楚,这篇文章就来分析一 ...

  6. 使用dSYM分析App崩溃日志

    前言 我们在开发App过程中,因为连接到控制台,所以遇到问题会很容易找到问题代码.但是对于线上的App出现Crash的时候,我们不可能通过这种方式,也不现实,所以我们只能通过收集Crash信息,来解决 ...

  7. Android之崩溃日志管理

    文章大纲 一.Android崩溃日志管理简介二.崩溃日志管理实战三.项目源码下载   一.Android崩溃日志管理简介 1. 什么是android崩溃日志管理   开发中有些地方未注意可能造成异常抛 ...

  8. Android中Socket大文件断点上传

    原文:http://blog.csdn.net/shimiso/article/details/8529633 什么是Socket? 所谓Socket通常也称作“套接字”,用于描述IP地址和端口,是一 ...

  9. 如何通过友盟分析发布后App崩溃日志-b

    要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件.这个文件包含了.DSYM文件. 我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里, ...

随机推荐

  1. hdu 4704 同余定理+普通快速幂

    此题往后推几步就可找到规律,从1开始,答案分别是1,2,4,8,16.... 这样就可以知道,题目的目的是求2^n%Mod的结果.....此时想,应该会想到快速幂...然后接着会发现,由于n的值过大, ...

  2. HUNNU11342:Chemistry(模拟)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11342 Problem description The ch ...

  3. Marshal UTF8 Strings in .NET

    原文:Marshal UTF8 Strings in .NET Marshal UTF8 Strings in .NET Wow, what a pain in the butt. .NET stri ...

  4. 基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案 郑昀 基于杨海波的设计文档(转)

    郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...

  5. Aerospike | Aerospike Chinese

    Aerospike | Aerospike Chinese 如果您的企业依赖于: 庞大的数据量(超过任何结构化数据库所能处理的数据量) 可预见(且快速)的性能 透明的扩展 始终正常运行 那么您只有一个 ...

  6. Core Animation之框架简介(一)

    Core Animation之框架简介(一) 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/11180241 转载请注明 ...

  7. 读一读Scktsrvr.exe的源程序

    读一读Scktsrvr.exe的源程序 使用DELPHI做多层开发的朋友们都应该对Scktsrvr.exe这个程序不陌生的,Borland公司在DELPHI中给出了它的源代码.这是一个900来行的程序 ...

  8. ZeroClipboard插件:兼容各浏览器网页复制功能

    常规利用JS编写的网页复制功能只对IE有效,无法做到兼容其它浏览器,代码如下: function copyToClipBoard(){ var clipBoardContent="" ...

  9. 多图真相:Adobe Dreamweaver CC 2014.1来了-体验卓越PSD提取和诸多精彩云功能!

     作为经典的web开发工具,DW此次版本号更新提供了更加丰富的云功能,是网页开发人员的利器! 直接发多图(来源:zoomla!逐浪CMS UED): watermark/2/text/aHR0cD ...

  10. 二进制搜索方法C++通用执行

    算法很easy.直接附着到代码它 #include <iostream> using namespace std; template<typename T> int binar ...