【发布时间】:2018-09-14 07:15:29
【问题描述】:
昨天我发布了我在 Google Play 商店中拥有的付费应用的更新。
几个小时后,我得到了一位抱怨应用崩溃的用户的 1 星评价,因此我前往开发者控制台的 Android Vitals 部分进行了调查。 起初,我没有看到任何崩溃或 ANR 的迹象,但是当我将过滤器“从 Play 安装”更改为“从任何地方安装”时,我可以看到该应用确实为这个单个用户崩溃了很多.
我有点困惑和好奇这意味着什么 - 如果他真的从其他地方获得了该应用程序,他为什么能够在 Google Play 上发表评论?为什么他甚至能够更新应用程序?
“从任何地方安装”是否可以包括其他内容,例如在崩溃后卸载应用的用户?还是使用 Titanium 之类的工具备份应用程序然后从备份中恢复的用户?
我可能还应该提到实际崩溃发生在 Google 许可证验证库中,这使得“从任何地方安装”部分更加可疑。这是堆栈跟踪(不幸的是,我忘记上传mapping.txt 以对方法名称进行反混淆,并且已经对源代码进行了修改)。
Google Pixel XL (marlin), Android 9
java.lang.NoClassDefFoundError:
at com.google.android.vending.licensing.l.d (Unknown Source:29)
at com.google.android.vending.licensing.l.a (Unknown Source:25)
at com.google.android.vending.licensing.f.a (Unknown Source:2)
at com.google.android.vending.licensing.f.a (Unknown Source:209)
at com.google.android.vending.licensing.d$a$2.run (Unknown Source:52)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:193)
at android.os.HandlerThread.run (HandlerThread.java:65)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
起初它可能看起来像是一个 multidex 问题,但已经有 50 多个其他人更新了该应用程序,但仍然只有这个单个用户的崩溃报告。如果确实是multidex问题,那不会影响大多数用户(至少是同一Android版本的用户)吗?
【问题讨论】:
-
你能知道这个用户安装它的日期和在哪个国家吗?如果是这样,您能否将其与仪表板上显示的安装事件相关联?
标签: android google-play classnotfoundexception noclassdeffounderror android-lvl