【问题标题】:Cannot find com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable class找不到 com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable 类
【发布时间】:2017-07-28 12:44:50
【问题描述】:

我的 build.gradle 是:

// for facebook account kit
compile 'com.facebook.android:account-kit-sdk:4.+'

// for google firebase database
compile 'com.google.firebase:firebase-database:9.6.0'

// for google firebase cloud messaging
compile 'com.google.firebase:firebase-messaging:9.6.0'

重建项目后,发生错误。

错误:(74, 27) 错误: 无法访问 AbstractSafeParcelable 找不到 com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable 类

===============================================

分辨率:

原因是重建项目后,gradle下载最新版本的“account-kit-sdk”到4.25.0,新版本对gms做了一些改动,所以和firebase消息有些冲突,

所以我降级了 account-kit-sdk 版本,将导入版本从“account-kit-sdk:4.+”更改为“account-kit-sdk:4.24.0”

那么问题就解决了。

但我认为这不是解决这个问题的最佳方法。

欢迎朋友添加一些新的方法来解决这个问题。

谢谢。

【问题讨论】:

    标签: firebase firebase-cloud-messaging account-kit


    【解决方案1】:

    com.facebook.android:account-kit-sdk 的 4.25.0 版本对 com.google.android.gms:play-services-auth-api-phone:11.0.1 的依赖关系在 4.24.0 版本中不存在。 com.google.android.gms:play-services-auth-api-phone 增加了对其他com.google.android.gms 模块的许多传递依赖,包括basebasementtasksauthauth-base

    Firebase 库还对众多 com.google.android.gms 模块具有传递依赖关系。如果一个构建中所有 Firebase 和 Play Services 模块的版本号不同,就会出现这样的问题。

    一个简单的解决方案是使用您在 gradle 依赖项中列出的所有 Firebase 和 Play 服务库的 11.0.1 版:

    // for google firebase database
    compile 'com.google.firebase:firebase-database:11.0.1'
    
    // for google firebase cloud messaging
    compile 'com.google.firebase:firebase-messaging:11.0.1'
    

    您还应该为 Facebook 库指定一个固定的版本号,以使您的构建可预测和可重复:

    compile 'com.facebook.android:account-kit-sdk:4.25.0'
    

    将版本指定为“4.+”的风险在于,当发布对新版本 Play 服务库具有传递依赖关系的新版本时,将自动使用新的 Facebook 库版本,并且您的构建将再次中断。

    要调试这样的问题,您可以在 Android Studio 中打开 Gradle 窗口,然后双击 :app -> Tasks -> android -> androidDependencies 以生成依赖关系树。然后可以检查树以查找版本不匹配。

    【讨论】:

      猜你喜欢
      • 2017-11-30
      • 2017-10-16
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      相关资源
      最近更新 更多