崩溃显示在开发者控制台中

时间:2017-05-30 11:25:38

标签: android

我最近向Playstore提交了应用程序。我认为应用会由Google设备自动测试。我在Play商店开发者控制台中发现了许多崩溃(大约70个)。当我在我的真实设备中测试时,我没有遇到任何崩溃。如何避免崩溃/下次从列表中删除崩溃。

我的应用已登录,无需登录用户,用户无法转到信息中心。但崩溃报告与应用程序内部相关(我的意思是在登录后)。

如何处理这种情况?我们是否需要编写任何测试用例以避免谷歌设备崩溃,因为我们没有崩溃。 `

@Override
            protected String doInBackground(Void... voids) {
                if (CropMainActivity.cropped == null) {
                    return "";
                }
                return compress(CropMainActivity.cropped);
            }




java.lang.RuntimeException: 
  at io.fabric.sdk.android.services.concurrency.AsyncTask$3.done(AsyncTask.java:323)
  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
  at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
  at java.util.concurrent.FutureTask.run(FutureTask.java:242)
  at io.fabric.sdk.android.services.concurrency.AsyncTask$SerialExecutor$1.run(AsyncTask.java:254)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: 
  at com.myapp.fragment.MyProfileFragment.compress(MyProfileFragment.java:250)
  at com.myapp.fragment.MyProfileFragment.access$100(MyProfileFragment.java:51)
  at com.myapp.fragment.MyProfileFragment$2.doInBackground(MyProfileFragment.java:185)
  at com.myapp.fragment.MyProfileFragment$2.doInBackground(MyProfileFragment.java:181)
  at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
  at java.util.concurrent.FutureTask.run(FutureTask.java:237)

` enter image description here

1 个答案:

答案 0 :(得分:3)

  

如何避免崩溃/下次从列表中删除崩溃。

分析堆栈跟踪,尝试识别错误,然后修复错误。通过错误修复程序向您的应用发送更新。

然后,正如传说中的洗发水瓶说明书所写,“泡沫,冲洗,重复”,因为您将来会遇到同样的问题,很有可能。

  

我认为应用会由Google设备自动测试。

崩溃是来自普通用户,来自某种自动化测试引擎,还是来自跳跃在水晶甲基上的雪貂,这并不重要。如果您的应用在现场崩溃,则您的应用中存在错误。如果没有别的,你会错过一些在崩溃之前检测到问题的防御性编程步骤,然后将用户重定向到其他地方。

  

我的应用已登录,无需登录用户,用户无法转到信息中心。

也许你的应用中的错误是有办法在没有登录的情况下进入仪表板。例如,仪表板活动可能有<intent-filter>或以其他方式导出,这意味着任何人,任何时候,可以开始那项活动。或者,也许仪表板活动假定将填充某些static字段,如果应用程序的进程在后台处理时终止,则可能不是这种情况。