【问题标题】:Using GoogleApiAvailability class's isGooglePlayServicesAvailable() method causes the App crash使用 GoogleApiAvailability 类的 isGooglePlayServicesAvailable() 方法会导致 App 崩溃
【发布时间】:2017-06-28 11:01:01
【问题描述】:

如果设备 Google Play 服务版本未更新,在我的应用上使用以下代码会导致应用崩溃。

GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
status = googleAPI.isGooglePlayServicesAvailable(mActivity);

它在装有 Android 操作系统 4.2.2 版和 Google Play 服务 3.1.58 版的设备上崩溃(我故意降级,以处理 Google Play 服务可用性检查)。

崩溃日志如下,

致命异常:主要

java.lang.RuntimeException:无法启动活动 组件信息{com.companyname/o.Dt}: java.lang.NullPointerException 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2249) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 在 android.app.ActivityThread.access$700(ActivityThread.java:154) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:5306) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 o.Lf.(:191) 在 o.Lf.ˊ(:237) 在 o.Dt.onCreate(:487) 在 android.app.Activity.performCreate(Activity.java:5255) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2213) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 在 android.app.ActivityThread.access$700(ActivityThread.java:154) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:5306) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 在 dalvik.system.NativeStart.main(Native Method)

NullPointer 指向某个框架类,即使其名称已被混淆。所以,任何帮助将不胜感激。

【问题讨论】:

  • 是的,没错。公认。但是现在我有不同的问题,那就是我没有混淆我的代码,它是调试模式,那么为什么 Activity 名称被混淆了。
  • 是的,我正在调试同一个应用程序..

标签: android


【解决方案1】:

也许错误不在您的代码中。根据包名称,错误似乎来自公开可用的应用程序

【讨论】:

  • 嗨,kuffs,你能从 cmets 中删除公司名称吗,而是让它有点像 com.companyname。提前致谢。
  • 嗨,kuffs,您能否也从您的第一条评论中删除公司名称。谢谢!
  • 嗨,Kuffs,感谢您在调试方面的帮助。现在这个问题实际上已经解决了。使用 GoogleApiAvailability 类的 isGoogle PlayServicesAvailable 没有任何问题。这工作正常。实际上我在 GooglePlayServices 检查之外使用了 mGoogleApiClient.connect() 。这就是坠机的原因。它现在工作正常。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 2014-03-10
相关资源
最近更新 更多