【问题标题】:The application is getting crashed after upgrade the Google Play Service version from 11.2.2 to 15.0.0将 Google Play 服务版本从 11.2.2 升级到 15.0.0 后应用程序崩溃
【发布时间】:2018-06-25 09:57:24
【问题描述】:

将 Google Play 服务版本从 11.2.2 升级到 15.0.0 后应用程序崩溃并出现以下错误

compile 'com.google.android.gms:play-services-auth:15.0.0'
compile 'com.google.android.gms:play-services-ads:15.0.0'
compile 'com.google.android.gms:play-services-location:15.0.0'
compile 'com.google.android.gms:play-services-base:15.0.0'
compile 'com.google.firebase:firebase-messaging:15.0.0'

Error Stacktrace:

Fatal Exception: java.lang.AbstractMethodError: abstract method "void com.google.firebase.iid.zzb.zzd(android.content.Intent)"
       at com.google.firebase.iid.zzc.run(Unknown Source:4)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
       at com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:7)
       at java.lang.Thread.run(Thread.java:764)

【问题讨论】:

  • Fabric 报告显示 94% 的崩溃来自 Android Oreo 设备
  • 您多次写过“GPS”,但我认为这是一种类型 - “GMS”是正确的。
  • @LalitKumarSahoo 你应该更新到最新版本你的火力基地和谷歌服务检查我的回答希望它对你有帮助

标签: android firebase google-play-services


【解决方案1】:

如果您尝试在没有实现的情况下调用抽象方法,则会抛出 AbstractMethodError,这通常在编译时进行检查。

这可能是由于库版本不兼容等原因造成的,但您拥有 15.0.0 的所有内容,所以应该没问题。我建议尝试进行干净的构建(例如 ./gradlew clean),以防万一没有正确重新编译。

【讨论】:

    【解决方案2】:

    您可能还需要从 SDK 管理器升级您的工作室使用的当前版本的 Google Play 服务。

    转到工具->SDK 管理器->SDK 工具->检查是否有任何可用于 Google Play 服务的更新

    希望这会有所帮助。

    【讨论】:

    【解决方案3】:

    这是因为您应该使用如下的最新版本(基于this link):

    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-ads:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.android.gms:play-services-base:15.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'
    

    还要确保你的应用 gradle 类路径是这样的:

    classpath 'com.android.tools.build:gradle:3.1.3'
    classpath 'com.google.gms:google-services:4.0.1'
    

    如果您使用的是 com.google.android.gms,请检查是否为最新版本(基于 this link):

    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'com.google.android.gms:play-services-places:15.0.1'
    implementation 'com.google.android.gms:play-services-gcm:15.0.1'
    

    【讨论】:

    • 将检查此流程。您是否随时遇到过同样的崩溃。
    • @LalitKumarSahoo 是的很多次,检查这两个链接并确保您的库已更新并且您的问题将消失
    • 感谢您的快速回复。正如 Google 建议对所有依赖库使用相同的版本以避免异常崩溃,但在这里我可以看到不同之处。 Firebase 版本与 GPS 版本不同
    • @LalitKumarSahoo 如果对您有帮助,请接受我的回答,祝您编码愉快
    • @LalitKumarSahoo,Google 不再建议对所有 Firebase 和 Google Play 服务库使用相同的版本(请参阅developers.google.com/android/guides/versioning
    猜你喜欢
    • 2013-09-29
    • 2016-04-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2017-07-16
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多