LogReport是一个崩溃日志上传框架 ,当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方
另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传。
特性介绍
在你的项目根目录下的build.gradle文件中加入依赖
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
添加依赖
dependencies { compile 'com.github.wenmingvs:LogReport:1.0.3' }
在自定义Application文件加入以下几行代码即可,默认使用email发送。如果您只需要在本地存储崩溃信息,不需要发送出去,请把initEmailReport()删掉即可。
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); initCrashReport(); } private void initCrashReport() { LogReport.getInstance() .setCacheSize(30 * 1024 * 1024)//支持设置缓存大小,超出后清空 .setLogDir(getApplicationContext(), "sdcard/" + this.getString(this.getApplicationInfo().labelRes) + "/")//定义路径为:sdcard/[app name]/ .setWifiOnly(true)//设置只在Wifi状态下上传,设置为false为Wifi和移动网络都上传 .setLogSaver(new CrashWriter(getApplicationContext()))//支持自定义保存崩溃信息的样式 //.setEncryption(new AESEncode()) //支持日志到AES加密或者DES加密,默认不开启 .init(getApplicationContext()); initEmailReporter(); } /** * 使用EMAIL发送日志 */ private void initEmailReporter() { EmailReporter email = new EmailReporter(this); email.setReceiver("wenmingvs@gmail.com");//收件人 email.setSender("wenmingvs@163.com");//发送人邮箱 email.setSendPassword("apptest1234");//邮箱的客户端授权码,注意不是邮箱密码 email.setSMTPHost("smtp.163.com");//SMTP地址 email.setPort("465");//SMTP 端口 LogReport.getInstance().setUploadType(email); } }