由于缺少方法而导致发布前报告失败(在com.google.android.apps.mtaas.crawler-1/base.apk中) [英] Pre-launch-report failures due to missing methods (in com.google.android.apps.mtaas.crawler-1/base.apk)

本文介绍了由于缺少方法而导致发布前报告失败(在com.google.android.apps.mtaas.crawler-1/base.apk中)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近以来,我的应用开始在发布前的报告中包含奇怪的错误消息(上传到Play商店后自动生成).

Since recently my app started to contain strange error messages in the pre-launch reports (automatically generated after upload to the Play store).

这些报告包含以下异常:

These reports contain exceptions such as the following:

Exception java.lang.NoSuchMethodError: No interface method a(Landroid/arch/lifecycle/e;Landroid/arch/lifecycle/b$a;)V in class Landroid/arch/lifecycle/GenericLifecycleObserver; or its super classes (declaration of 'android.arch.lifecycle.GenericLifecycleObserver' appears in /data/app/com.google.android.apps.mtaas.crawler-1/base.apk)
android.arch.lifecycle.f$a.a (f.java:326)
android.arch.lifecycle.f.a (f.java:159)
com.firebase.ui.database.FirebaseRecyclerAdapter.<init> (FirebaseRecyclerAdapter.java:40)

并且:

Exception java.lang.NoSuchMethodError: No static method a(Landroid/app/Activity;)V in class Landroid/arch/lifecycle/ReportFragment; or its super classes (declaration of 'android.arch.lifecycle.ReportFragment' appears in /data/app/com.google.android.apps.mtaas.crawler-1/base.apk)
android.arch.lifecycle.LifecycleDispatcher$DispatcherActivityCallback.onActivityCreated (LifecycleDispatcher.java:77)
android.app.Application.dispatchActivityCreated (Application.java:219)
android.app.Activity.onCreate (Activity.java:1040)
android.support.v4.app.SupportActivity.onCreate (SupportActivity.java:66)
android.support.v4.app.FragmentActivity.onCreate (FragmentActivity.java:285)
android.support.v7.app.AppCompatActivity.onCreate (AppCompatActivity.java:84)

并且:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.arch.core.internal.SafeIterableMap.size()' on a null object reference
    at android.arch.lifecycle.LifecycleRegistry.getObserverCount(LifecycleRegistry.java:204)
    at android.arch.lifecycle.ProcessLifecycleOwner.b(ProcessLifecycleOwner.java:154)
    at android.arch.lifecycle.ProcessLifecycleOwner.a(ProcessLifecycleOwner.java:100)
    at android.arch.lifecycle.LifecycleRuntimeTrojanProvider.onCreate(LifecycleRuntimeTrojanProvider.java:36)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6031)
    ... 10 more

奇怪的是,我发布的应用似乎在真实设备上运行良好(异常仅在预启动测试期间出现).

The strange thing is that my released app seems to be running fine on real devices (the exceptions appear only during the pre-launch tests).

我尝试还原自上次构建以来没有任何预启动问题的所有(主要)更改:从API 26回归到API 27,较旧版本的支持库,没有D8等,但没有成功到目前为止:在执行的9个测试中,只有1个或2个成功,而其他测试则因此类错误而失败.

I tried to revert all (major) changes performed since the last build in which I had no pre-launch problem: from API 26 back to API 27, older version of the support libs, no D8 etc., but no success so far: of the 9 tests being performed only 1 or 2 succeed, the rest fails with this type of errors.

该怎么办?

推荐答案

刚刚获得Google Play开发者支持的答案.他们正在调查问题.

Just got an answer from Google Play developer support. They are looking into the problem.

作为一种解决方法,您可以选择退出新发布的爬虫,以返回到该爬虫的先前版本.

As a workaround you can go back to the previous version of the crawler by opting out of the newly released one.

以下是退出的方法:

  • 登录到您的Play控制台.
  • 选择一个应用.
  • 选择发布 管理>发布前报告>设置.在发布前报告 版本"部分,向右移动选择退出"开关,直到它变成 蓝色.
  • Sign in to your Play Console.
  • Select an app.
  • Select Release management > Pre-launch report > Settings. In the "Pre-launch report version" section, move the Opt-out switch to the right until it turns blue.

此后,启动报告将再次正确显示.

After this, the launch reports appear correctly again.

PS-这将禁用Google Play进行的默认测试,并且您可能会由于其他原因错过任何其他错误.因此,一定要在发布产品之前实施自己的测试.

PS - This will disable the default tests done by the Google Play and you might miss any other errors from other cause. Hence, be sure to implement your own tests before releasing into production.

这篇关于由于缺少方法而导致发布前报告失败(在com.google.android.apps.mtaas.crawler-1/base.apk中)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆