Code Monkey home page Code Monkey logo

logreport's Introduction

崩溃日志上传框架

当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方

另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传

enter image description here

特性介绍

特性 简介
自定义日志保存路径 默认保存在Android/data/com.xxxx.xxxx/log中
自定义日志缓存大小 默认大小为30M,超出后会自动清空文件夹
支持多种上传方式 目前支持邮件上传与HTTP上传,会一并把文件夹下的所有日志打成压缩包作为附件上传
日志加密保存 提供AES,DES两种加密解密方式支持,默认不加密
日志按天保存 目前崩溃日志和Log信息是按天保存,你可以继承接口来实现更多的保存样式
携带设备与OS信息 在创建日志的时候,会一并记录OS版本号,App版本,手机型号等信息,方便还原崩溃
自定义日志上传的时机 默认只在Wifi状态下上传支持,也支持在Wifi和移动网络下上传
支持保存Log日志 在打印Log的同时,把Log写入到本地(保存的时候会附带线程名称,线程id,打印时间),还原用户操作路径,为修复崩溃提供更多细节信息
GitHub自动提交issue 使用邮件发送的形式,把接受崩溃日志的邮箱和GitHub特定的开源项目绑定在一起即可,更多细节请看下面介绍

依赖添加

在你的项目根目录下的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("[email protected]");//收件人
        email.setSender("[email protected]");//发送人邮箱
        email.setSendPassword("apptest1234");//邮箱的客户端授权码,注意不是邮箱密码
        email.setSMTPHost("smtp.163.com");//SMTP地址
        email.setPort("465");//SMTP 端口
        LogReport.getInstance().setUploadType(email);
    }
}

上传

在任意地方,调用以下方法即可,崩溃发生后,会在下一次App启动的时候使用Service异步打包日志,然后上传日志,发送成功与否,Service都会自动退出释放内存

LogReport.getInstance().upload(context);

发往服务器

如果您有自己的服务器,想往服务器发送本地保存的日志文件,而不是通过邮箱发送。请使用以下方法替换initEmailReporter方法

    /**
     * 使用HTTP发送日志
     */
    private void initHttpReporter() {
        HttpReporter http = new HttpReporter(this);
        http.setUrl("http://crashreport.jd-app.com/your_receiver");//发送请求的地址
        http.setFileParam("fileName");//文件的参数名
        http.setToParam("to");//收件人参数名
        http.setTo("你的接收邮箱");//收件人
        http.setTitleParam("subject");//标题
        http.setBodyParam("message");//内容
        LogReport.getInstance().setUploadType(http);
    }

保存Log到本地

使用以下方法,打印Log的同时,把Log信息保存到本地(保存的时候会附带线程名称,线程id,打印时间),并且随同崩溃日志一起,发送到特定的邮箱或者服务器上。帮助开发者还原用户的操作路径,更好的分析崩溃产生的原因

LogWriter.writeLog("wenming", "打Log测试!!!!");

关于使用邮件上传的注意事项

  • 强烈建议使用163邮箱作为发送崩溃的邮箱,并且此邮箱务必要开启SMTP服务,如下图所示,才能发送邮件成功! enter image description here
  • 邮箱的密码,请输入163邮箱的客户端授权码,而不要输入邮箱的登录密码
  • 请不要使用QQ邮箱作为发件人的邮箱,因为QQ邮箱的多重验证原因,并不支持这种形式的邮件发送
  • 如果你需要自动提交崩溃日志到GitHub中,您需要使用Gmail邮箱作为收件人邮箱
  • 提供以下测试邮箱给大家体验,此邮箱可以发送邮箱
    测试帐号
    帐号:[email protected]
    登录密码:apptest123
    客户端授权码:apptest1234

GitHub自动提交issue的配置

请保证崩溃日志的邮件能到达您设定的Gmail邮箱中。如下图所示,才继续下去 enter image description here

通过发送邮件来创建issue,在没有GitHub API的支持下,是不可能实现的。但是我们可以通过一些已经得到GitHub授权的第三方应用来实现。通过设置邮件监听,一旦邮箱收到了包含特定关键字的邮件,就会读取邮件的内容和标题,自动帮你提交issue。我们需要做的,就是把邮箱和GitHub的开源项目绑定起来,设置触发器即可,每次新邮件到达的时候,会检查此邮件是否满足触发器要求,如果满足,就会帮你自动提交issue。

快速教程

  1. 首先去注册一个帐号,如下图所示 链接
    enter image description here
  2. 绑定Gmail邮箱,设置监听的邮件的类型,我们选择unread,即监听所有未读邮件(后面可以再根据个人要求修改) enter image description here
  3. 绑定GitHub
  4. 设置创建issue的样式,在3个输入框中指定以下内容 指定在哪个项目下创建issue issue的标题与邮件的标题相同 issue的内容和邮件的内容相同 enter image description here
  5. 设定成功!!
    enter image description here
  6. 进入个人面板管理链接,面板管理的Home标题下的每一个框框,都代表一个触发器,其中每个触发器都绑定了一个GitHub的开源项目
    enter image description here

后面我们还需要调整一下触发器,点击触发器的Edit,进入下面界面,做如下设置

  1. 设定监听的邮件类型为New Email Matching Search enter image description here

  2. 设定按照邮件的标题,对邮件做进一步筛选。设定的subject:LogReport,意思是对标题包含有LogReport关键字的邮件做捕获。通过设定不同的关键字,我们就可以给不同的GitHub上的开源项目提交issue了 enter image description here

  3. 对触发的动作做指示。我们需要自动提交issue,所以应该按照以下来设定,不再赘述了,看图: enter image description here enter image description here

  4. 最后,我们返回到个人面板,如果触发器如下图所示是On状态,说明已经启动了!至此,自动提交崩溃issue的配置就完成了
    enter image description here

最后附上我的测试帐号,大家可以根据我的触发器的配置作为参考~
帐号:[email protected]
密码:apptest1234

Gradle 构建

  • 版本
    • 最新 Android SDK
    • 最新 Gradle
  • 环境变量
    • ANDROID_HOME
    • GRADLE_HOME,同时把bin放入path变量
    • Android SDK 安装,都更新到最新
    • Android SDK Build-tools更新到最新
    • Google Repository更新到最新
    • Android Support Repository更新到最新
    • Android Support Library更新到最新

相信未来

当蜘蛛网无情地查封了我的炉台
当灰烬的余烟叹息着贫困的悲哀
我依然固执地铺平失望的灰烬
用美丽的雪花写下:相信未来

当我的紫葡萄化为深秋的露水
当我的鲜花依偎在别人的情怀
我依然固执地用凝霜的枯藤
在凄凉的大地上写下:相信未来

我要用手指那涌向天边的排浪
我要用手掌那托住太阳的大海
摇曳着曙光那枝温暖漂亮的笔杆
用孩子的笔体写下:相信未来

我之所以坚定地相信未来
是我相信未来人们的眼睛
她有拨开历史风尘的睫毛
她有看透岁月篇章的瞳孔

不管人们对于我们腐烂的皮肉
那些迷途的惆怅、失败的苦痛
是寄予感动的热泪、深切的同情
还是给以轻蔑的微笑、辛辣的嘲讽

我坚信人们对于我们的脊骨
那无数次的探索、迷途、失败和成功
一定会给予热情、客观、公正的评定
是的,我焦急地等待着他们的评定

朋友,坚定地相信未来吧
相信不屈不挠的努力
相信战胜死亡的年轻
相信未来、热爱生命

logreport's People

Contributors

wenmingvs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

logreport's Issues

Re:Re:回复:wenmingvs:您好,LogReport问题的求助

嗯嗯,明白,那我现在试一下。

在 2016-07-27 10:10:54,"wenmingvs" [email protected] 写道:

运行我的Demo,不要修改上面的帐号密码,看看是否能正常发送邮件,如果我的LogReport上有新的issue,说明你触发的崩溃是正常发送到邮箱,并且被自动提交到了GitHub上了。如果我的Demo是正常的,说明你的手机没有缺失关键的库,再排除后面的问题

原始邮件
发件人: 刘鹏程[email protected]
收件人: wenmingvs@[email protected]
发送时间: 2016年7月27日(周三) 09:58
主题: Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人: 刘鹏程[email protected]
收件人: [email protected]
发送时间: 2016年7月27日(周三) 09:35
主题: wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-20 15:47:58:45

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 265214 Thread Name: pool-1-thread-2 Time: 2016-07-20 15:47:51:55 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 LogReport 2016-07-19 16:31:57:09

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 23369 Thread Name: pool-2-thread-1 Time: 2016-07-19 16:31:54:25 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-19 14:21:14:10

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 21068 Thread Name: pool-3-thread-1 Time: 2016-07-19 14:03:10:53 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 21563 Thread Name: pool-3-thread-2 Time: 2016-07-19 14:08:20:64 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 21916 Thread Name: pool-3-thread-1 Time: 2016-07-19 14:12:15:41 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 22077 Thread Name: pool-3-thread-2 Time: 2016-07-19 14:12:49:63 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 22364 Thread Name: pool-3-thread-1 Time: 2016-07-19 14:20:56:07 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-19 14:46:55:53

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 22729 Thread Name: pool-3-thread-1 Time: 2016-07-19 14:46:41:13 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Unable to start service com.wenming.library.upload.UploadService@afc00fc with Intent { cmp=com.wenming.crashcachedemo/com.wenming.library.upload.UploadService VirtualScreenParam=Params{mDisplayId=-1, null, mFlags=0x00000000)} }: java.lang.NullPointerException: Attempt to get length of null array
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4079)
at android.app.ActivityThread.access$2400(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1897)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.folderSize(FileUtil.java:133)
at com.wenming.library.upload.UploadService.checkCacheSize(UploadService.java:110)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:55)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4062)
... 9 more
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.folderSize(FileUtil.java:133)
at com.wenming.library.upload.UploadService.checkCacheSize(UploadService.java:110)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:55)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4062)
at android.app.ActivityThread.access$2400(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1897)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-19 16:31:57:09

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 23369 Thread Name: pool-2-thread-1 Time: 2016-07-19 16:31:54:25 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-25 15:55:02:46

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Xiaomi
DEVICE: gemini
HARDWARE: qcom

Thread ID: 44680 Thread Name: pool-1-thread-1 Time: 2016-07-25 15:53:44:58 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.folderSize(FileUtil.java:133)
at com.wenming.library.upload.UploadService.checkCacheSize(UploadService.java:109)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:90)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:101)
at com.wenming.library.upload.BaseUpload.sendFile(BaseUpload.java:53)
at com.wenming.library.upload.UploadService.onHandleIntent(UploadService.java:77)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)

【CrashLog】 2016-07-18 14:42:54:41

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 256017 Thread Name: Thread-256017 2016-07-18 14:42:32:22 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:200)
at android.os.Handler.(Handler.java:114)
at android.widget.Toast$TN.(Toast.java:503)
at android.widget.Toast.(Toast.java:121)
at android.widget.Toast.makeText(Toast.java:306)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:84)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:106)
at com.wenming.library.upload.BaseUpload2$1.run(BaseUpload2.java:67)
at java.lang.Thread.run(Thread.java:818)

【CrashLog】 LogReport 2016-07-21 18:17:34:35

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 37432 Thread Name: pool-2-thread-1 Time: 2016-07-21 18:11:31:79 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 37603 Thread Name: pool-2-thread-2 Time: 2016-07-21 18:15:34:45 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Re:Re:回复:wenmingvs:您好,LogReport问题的求助

嗯嗯,明白,那我现在试一下。

在 2016-07-27 10:10:54,"wenmingvs" [email protected] 写道:

运行我的Demo,不要修改上面的帐号密码,看看是否能正常发送邮件,如果我的LogReport上有新的issue,说明你触发的崩溃是正常发送到邮箱,并且被自动提交到了GitHub上了。如果我的Demo是正常的,说明你的手机没有缺失关键的库,再排除后面的问题

原始邮件
发件人: 刘鹏程[email protected]
收件人: wenmingvs@[email protected]
发送时间: 2016年7月27日(周三) 09:58
主题: Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人: 刘鹏程[email protected]
收件人: [email protected]
发送时间: 2016年7月27日(周三) 09:35
主题: wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-26 19:41:00:30

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G6000ZCU2APE2
BRAND: samsung
DEVICE: o7ltechn
HARDWARE: qcom

Thread ID: 23180 Thread Name: pool-2-thread-1 Time: 2016-07-26 19:40:57:49 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5246)
at android.widget.TextView.performClick(TextView.java:10573)
at android.view.View$PerformClick.run(View.java:21256)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-20 15:47:58:45

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 265214 Thread Name: pool-1-thread-2 Time: 2016-07-20 15:47:51:55 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 LogReport 2016-07-19 11:56:52:46

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 19412 Thread Name: pool-3-thread-1 Time: 2016-07-19 11:56:45:96 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-18 18:15:13:18

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 11336 Thread Name: pool-3-thread-2 2016-07-18 18:14:49:34 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-19 14:02:14:32

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 20529 Thread Name: pool-3-thread-2 Time: 2016-07-19 13:48:33:08 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 20700 Thread Name: pool-3-thread-1 Time: 2016-07-19 13:51:32:73 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Re:回复:wenmingvs:您好,LogReport问题的求助

运行我的Demo,不要修改上面的帐号密码,看看是否能正常发送邮件,如果我的LogReport上有新的issue,说明你触发的崩溃是正常发送到邮箱,并且被自动提交到了GitHub上了。如果我的Demo是正常的,说明你的手机没有缺失关键的库,再排除后面的问题

原始邮件
发件人:刘鹏程[email protected]
收件人:wenmingvs@[email protected]
发送时间:2016年7月27日(周三) 09:58
主题:Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人:刘鹏程[email protected]
收件人:[email protected]
发送时间:2016年7月27日(周三) 09:35
主题:wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-19 01:07:40:93

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 11526 Thread Name: pool-3-thread-2 2016-07-18 18:29:16:56 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 2016-07-18 18:06:41:08

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 10345 Thread Name: pool-3-thread-2 2016-07-18 17:15:38:94 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-25 15:21:19:45

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Xiaomi
DEVICE: gemini
HARDWARE: qcom

Thread ID: 44303 Thread Name: pool-1-thread-1 Time: 2016-07-25 15:19:33:63 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5200)
at android.view.View$PerformClick.run(View.java:21163)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5459)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)

【CrashLog】 2016-07-18 17:15:15:08

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 10062 Thread Name: Thread-10062 2016-07-18 17:00:05:39 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 LogReport 2016-07-21 18:17:34:35

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 37432 Thread Name: pool-2-thread-1 Time: 2016-07-21 18:11:31:79 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 37603 Thread Name: pool-2-thread-2 Time: 2016-07-21 18:15:34:45 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Re:回复:wenmingvs:您好,LogReport问题的求助

发送的时候观察一下log,看下是否有报红色的library异常,在国产的中华酷联四个品牌的手机,会被精简掉一些关键的library,导致无法发送邮件的

原始邮件
发件人:刘鹏程[email protected]
收件人:wenmingvs@[email protected]
发送时间:2016年7月27日(周三) 09:58
主题:Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人:刘鹏程[email protected]
收件人:[email protected]
发送时间:2016年7月27日(周三) 09:35
主题:wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-21 18:37:59:86

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 37697 Thread Name: pool-2-thread-1 Time: 2016-07-21 18:21:16:54 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 2016-07-18 15:26:32:32

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 1 Thread Name: main 2016-07-18 15:26:31:46 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Unable to start service com.wenming.library.upload.UploadService@2532f74d with Intent { cmp=com.wenming.crashcachedemo/com.wenming.library.upload.UploadService }: java.lang.NullPointerException: Attempt to get length of null array
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3324)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
... 9 more
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 2016-07-18 14:42:11:09

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 255992 Thread Name: Thread-255992 2016-07-18 14:41:52:00 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:200)
at android.os.Handler.(Handler.java:114)
at android.widget.Toast$TN.(Toast.java:503)
at android.widget.Toast.(Toast.java:121)
at android.widget.Toast.makeText(Toast.java:306)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:84)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:106)
at com.wenming.library.upload.BaseUpload2$1.run(BaseUpload2.java:67)
at java.lang.Thread.run(Thread.java:818)

【CrashLog】 2016-07-18 15:26:07:74

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 1 Thread Name: main 2016-07-18 15:26:05:44 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Unable to start service com.wenming.library.upload.UploadService@2532f74d with Intent { cmp=com.wenming.crashcachedemo/com.wenming.library.upload.UploadService }: java.lang.NullPointerException: Attempt to get length of null array
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3324)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
... 9 more
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 LogReport 2016-07-18 18:16:54:47

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 11498 Thread Name: pool-3-thread-2 2016-07-18 18:16:44:52 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 2016-07-18 14:42:31:12

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 256007 Thread Name: Thread-256007 2016-07-18 14:42:12:20 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:200)
at android.os.Handler.(Handler.java:114)
at android.widget.Toast$TN.(Toast.java:503)
at android.widget.Toast.(Toast.java:121)
at android.widget.Toast.makeText(Toast.java:306)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:84)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:106)
at com.wenming.library.upload.BaseUpload2$1.run(BaseUpload2.java:67)
at java.lang.Thread.run(Thread.java:818)

【CrashLog】 LogReport 2016-07-21 18:37:59:86

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 37697 Thread Name: pool-2-thread-1 Time: 2016-07-21 18:21:16:54 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人: 刘鹏程[email protected]
收件人: [email protected]
发送时间: 2016年7月27日(周三) 09:35
主题: wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

Re:回复:wenmingvs:您好,LogReport问题的求助

发送的时候观察一下log,看下是否有报红色的library异常,在国产的中华酷联四个品牌的手机,会被精简掉一些关键的library,导致无法发送邮件的

原始邮件
发件人:刘鹏程[email protected]
收件人:wenmingvs@[email protected]
发送时间:2016年7月27日(周三) 09:58
主题:Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人:刘鹏程[email protected]
收件人:[email protected]
发送时间:2016年7月27日(周三) 09:35
主题:wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

Crash Log: AndroidCrash

APPLICATION INFORMATION
Application : AndroidCrash
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: msm8996
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
CPU_ABI: arm64-v8a
CPU_ABI2:
DEVICE: hero2qltechn
DISPLAY: MMB29M.G9350ZHU2APE3
FINGERPRINT: samsung/hero2qltezh/hero2qltechn:6.0.1/MMB29M/G9350ZHU2APE3:user/release-keys
HARDWARE: qcom
HOST: SWDD6217
ID: MMB29M
MANUFACTURER: samsung
PRODUCT: hero2qltezh
TAGS: release-keys
TYPE: user
USER: dpi

【CrashLog】 LogReport 2016-07-19 11:56:43:79

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 18008 Thread Name: pool-3-thread-2 2016-07-19 10:58:00:22 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Thread ID: 18244 Thread Name: pool-3-thread-1 2016-07-19 10:58:16:65 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 18284 Thread Name: pool-3-thread-1 2016-07-19 11:13:14:45 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 18292 Thread Name: pool-3-thread-1 2016-07-19 11:16:53:63 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 18485 Thread Name: pool-3-thread-1 2016-07-19 11:17:16:00 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 18501 Thread Name: pool-3-thread-1 2016-07-19 11:19:23:95 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 18933 Thread Name: pool-3-thread-1 Time: 2016-07-19 11:53:31:32 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

Thread ID: 19208 Thread Name: pool-3-thread-1 Time: 2016-07-19 11:56:06:18 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toString()' on a null object reference
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:105)
at com.wenming.library.upload.BaseUpload$1.run(BaseUpload.java:66)
at java.lang.Thread.run(Thread.java:818)

wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 2016-07-17 23:16:02:98

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Trd: 1 main 2016-07-17 23:15:40:39 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 2016-07-18 15:35:11:43

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 1 Thread Name: main 2016-07-18 15:35:10:18 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Unable to start service com.wenming.library.upload.UploadService@2532f74d with Intent { cmp=com.wenming.crashcachedemo/com.wenming.library.upload.UploadService }: java.lang.NullPointerException: Attempt to get length of null array
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3324)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:111)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
... 9 more
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:111)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 LogReport 2016-07-25 15:55:02:46

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Xiaomi
DEVICE: gemini
HARDWARE: qcom

Thread ID: 44680 Thread Name: pool-1-thread-1 Time: 2016-07-25 15:53:44:58 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.folderSize(FileUtil.java:133)
at com.wenming.library.upload.UploadService.checkCacheSize(UploadService.java:109)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:90)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:101)
at com.wenming.library.upload.BaseUpload.sendFile(BaseUpload.java:53)
at com.wenming.library.upload.UploadService.onHandleIntent(UploadService.java:77)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)

回复:wenmingvs:您好,LogReport问题的求助

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人:刘鹏程[email protected]
收件人:[email protected]
发送时间:2016年7月27日(周三) 09:35
主题:wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 LogReport 2016-07-25 15:21:19:45

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Xiaomi
DEVICE: gemini
HARDWARE: qcom

Thread ID: 44303 Thread Name: pool-1-thread-1 Time: 2016-07-25 15:19:33:63 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5200)
at android.view.View$PerformClick.run(View.java:21163)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5459)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)

Re:回复:wenmingvs:您好,LogReport问题的求助

你好,这个邮箱是我的私人邮箱,不是我新申请的测试邮箱,所以密码不能发给你,希望你理解啊。
我把邮箱的设置相关的截图发给你好不好?感谢!
这是163邮箱的设置,客户端授权码也是我新设的为:lpc1992
另外:
程序跑在android手机上,网易邮箱大师在iphone上的,163邮箱和126邮箱使用的是同一个邮箱大师。
谢谢您!

在 2016-07-27 09:50:46,"wenmingvs" [email protected] 写道:

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人: 刘鹏程[email protected]
收件人: [email protected]
发送时间: 2016年7月27日(周三) 09:35
主题: wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 2016-07-18 13:40:07:27

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Trd: 1 main 2016-07-16 19:16:58:75 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

回复:wenmingvs:您好,LogReport问题的求助

你好,我详细看了你的问题。能否告诉你的163的测试帐号的密码,我需要登录网易邮箱查看你的邮箱设置是否正确

原始邮件
发件人:刘鹏程[email protected]
收件人:[email protected]
发送时间:2016年7月27日(周三) 09:35
主题:wenmingvs:您好,LogReport问题的求助

wenmingvs:
你好,最近看到你在github上的LogReport这个项目,我自己按照你在README.md中步骤试了一下。
在本地写日志和记录奔溃都是可以的,在将日志发到邮箱时,没有收到,下面我将上传邮箱的那段代码发给你,麻烦你看一下,是不是配置问题:
下面是code:
private void initEmailReporter() {
EmailReporter email = new EmailReporter(this);
email.setReceiver("[email protected]"); //收件人
email.setSender("[email protected]"); //发送人邮箱
email.setSendPassword("lpc1992"); //邮箱的客户端授权码,注意不是邮箱密码
email.setSMTPHost("smtp.163.com"); //SMTP地址
email.setPort("465"); //SMTP 端口
LogReport.getInstance().setUploadType(email);

}
如果您有时间,看到这份邮件,希望你给予答复,万分感谢!!

【CrashLog】 2016-07-18 14:59:50:67

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 1 Thread Name: main 2016-07-18 14:54:28:01 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 2016-07-18 15:26:20:34

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 1 Thread Name: main 2016-07-18 15:26:19:21 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Unable to start service com.wenming.library.upload.UploadService@2532f74d with Intent { cmp=com.wenming.crashcachedemo/com.wenming.library.upload.UploadService }: java.lang.NullPointerException: Attempt to get length of null array
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3324)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
... 9 more
java.lang.NullPointerException: Attempt to get length of null array
at com.wenming.library.util.FileUtil.findFiles(FileUtil.java:112)
at com.wenming.library.util.FileUtil.getCrashList(FileUtil.java:84)
at com.wenming.library.upload.UploadService.onStartCommand(UploadService.java:52)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3307)
at android.app.ActivityThread.access$2200(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1546)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 LogReport 2016-07-21 10:19:20:36

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 33395 Thread Name: pool-2-thread-1 Time: 2016-07-21 09:36:07:17 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:35)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 2016-07-18 14:41:51:09

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Thread ID: 255983 Thread Name: Thread-255983 2016-07-18 14:41:32:07 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:200)
at android.os.Handler.(Handler.java:114)
at android.widget.Toast$TN.(Toast.java:503)
at android.widget.Toast.(Toast.java:121)
at android.widget.Toast.makeText(Toast.java:306)
at com.wenming.library.upload.UploadService$1.onError(UploadService.java:84)
at com.wenming.library.upload.email.EmailReporter.sendReport(EmailReporter.java:106)
at com.wenming.library.upload.BaseUpload2$1.run(BaseUpload2.java:67)
at java.lang.Thread.run(Thread.java:818)

【CrashLog】 LogReport 2016-07-26 18:24:39:76

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G6000ZCU2APE2
BRAND: samsung
DEVICE: o7ltechn
HARDWARE: qcom

Thread ID: 23158 Thread Name: pool-2-thread-1 Time: 2016-07-26 18:24:34:48 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5246)
at android.widget.TextView.performClick(TextView.java:10573)
at android.view.View$PerformClick.run(View.java:21256)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

【CrashLog】 LogReport 2016-07-26 18:24:39:76

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G6000ZCU2APE2
BRAND: samsung
DEVICE: o7ltechn
HARDWARE: qcom

Thread ID: 23158 Thread Name: pool-2-thread-1 Time: 2016-07-26 18:24:34:48 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5246)
at android.widget.TextView.performClick(TextView.java:10573)
at android.view.View$PerformClick.run(View.java:21256)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

【CrashLog】 LogReport 2016-07-26 19:41:00:30

Application Information
App Name : LogReport
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G6000ZCU2APE2
BRAND: samsung
DEVICE: o7ltechn
HARDWARE: qcom

Thread ID: 23180 Thread Name: pool-2-thread-1 Time: 2016-07-26 19:40:57:49 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:5246)
at android.widget.TextView.performClick(TextView.java:10573)
at android.view.View$PerformClick.run(View.java:21256)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6918)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

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.