这个应用程序崩溃了,但是ACRA没有出现。这是日志:
11-20 16:50:19.119: ERROR/ACRA(23345): ACRA caught a RuntimeException exception for com.buggyproject. Building report.
11-20 16:50:19.539: ERROR/ACRA(23345): ACRA caught a RuntimeException exception for com.buggyproject. Building report.
11-20 16:50:19.909: ERROR/ACRA(23345): com.buggyproject fatal error : An error occured while executing doInBackground()
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.NullPointerException
at libcore.net.UriCodec.encode(UriCodec.java:132)
at java.net.URLEncoder.encode(URLEncoder.java:57)
at com.buggyproject.Api$UpdateUI.doInBackground(Api.java:309)
at com.buggyproject.Api$UpdateUI.doInBackground(Api.java:296)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 5 more为什么不起作用?它不能处理NullPointerException吗?
更新这里是带有AsyncTask类的doInBackground函数的代码片段,NullPointExcetion将在其中引发
@Override
protected String doInBackground(String... params) {
try{
String path = String.format("update/%s/%s/",
URLEncoder.encode(params[0], "UTF-8"),
URLEncoder.encode(params[1], "UTF-8"));
page = api.getPage(server.getAddress(), path);
return page;
} catch (UnsupportedEncodingException e){
Log.d(TAG_NAME, "Error URL encoding " + e.toString());
}
return null;
}我认为问题在于params或params1或两者都为空,但是为什么ACRA没有出现呢?
Update2
另一个我注意到的错误
channel '41f00be8 com.buggyproject/org.acra.CrashReportDialog (server)' ~ Channel is unrecoverably broken and will be disposed!发布于 2016-07-15 14:22:13
这是比较容易的强制发送。如果您想在可选发送时使用acra,最好使用Google控制台。
所以为了解决这个问题
看看那些东西。如果acra没有显示,是因为初始化ACRA的应用程序类没有被激活。这在你的舱单上
发布于 2017-04-04 13:25:25
检查它是否在onCreate或onStart方法中启动了某些任务/服务。
在官方github ACRA文档中,我发现了以下内容:
如果您正在Application.onCreate中启动服务或其他任务,则应测试当前进程是否为:acra进程。如果是的话,那么您可能不想开始您的服务。
https://stackoverflow.com/questions/20096648
复制相似问题