You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android低版本传递Firebase Timestamp遇类未找到错误及解决尝试

问题:传递Firebase Timestamp到Activity在旧Android版本报错

我尝试使用intent.putExtra("timeStamp", timeStamp)将com.google.firebase.Timestamp对象传递到另一个Activity,但在部分Android旧版本中触发以下错误:

Class not found when unmarshalling: com.google.firebase.Timestamp
java.lang.ClassNotFoundException: com.google.firebase.Timestamp
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at android.os.Parcel.readParcelableCreator(Parcel.java:3338)
at android.os.Parcel.readParcelable(Parcel.java:3272)
at android.os.Parcel.readValue(Parcel.java:3174)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3567)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)
at android.os.BaseBundle.unparcel(BaseBundle.java:236)
at android.os.BaseBundle.getString(BaseBundle.java:1196)
at m.sm.a(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):42)
at com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.onActivityCreatedByScionActivityInfo(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):23)
at m.io.v(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):33)
at m.bx.onTransact(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):21)
at android.os.Binder.transact(Binder.java:1052)
at com.google.android.gms.internal.measurement.zzbu.zzb(com.google.android.gms:play-services-measurement-base@@22.2.0:21)
at com.google.android.gms.internal.measurement.zzdn.onActivityCreatedByScionActivityInfo(com.google.android.gms:play-services-measurement-base@@22.2.0:123)
at com.google.android.gms.internal.measurement.zzfq.zza(com.google.android.gms:play-services-measurement-sdk-api@@22.2.0:11)
at com.google.android.gms.internal.measurement.zzed$zzb.run(com.google.android.gms:play-services-measurement-sdk-api@@22.2.0:12)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.ClassNotFoundException: com.google.firebase.Timestamp
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:1358)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:1418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:454) 
at android.os.Parcel.readParcelableCreator(Parcel.java:3338)                                                                                                        at android.os.Parcel.readParcelable(Parcel.java:3272) 
at android.os.Parcel.readValue(Parcel.java:3174) 
at android.os.Parcel.readArrayMapInternal(Parcel.java:3567) 
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292) 
at android.os.BaseBundle.unparcel(BaseBundle.java:236) 
at android.os.BaseBundle.getString(BaseBundle.java:1196) 
at m.sm.a(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):42) 
at com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.onActivityCreatedByScionActivityInfo(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):23) 
at m.io.v(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):33) 
at m.bx.onTransact(:com.google.android.gms.dynamite_measurementdynamite@250632022@25.06.32 (150400-0):21) 
at android.os.Binder.transact(Binder.java:1052) 
at com.google.android.gms.internal.measurement.zzbu.zzb(com.google.android.gms:play-services-measurement-base@@22.2.0:21) 
at com.google.android.gms.internal.measurement.zzdn.onActivityCreatedByScionActivityInfo(com.google.android.gms:play-services-measurement-base@@22.2.0:123) 
at com.google.android.gms.internal.measurement.zzfq.zza(com.google.android.gms:play-services-measurement-sdk-api@@22.2.0:11) 
at com.google.android.gms.internal.measurement.zzed$zzb.run(com.google.android.gms:play-services-measurement-sdk-api@@22.2.0:12) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
at java.lang.Thread.run(Thread.java:923) 
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

我尝试了多种方案但均未解决,部分方案甚至导致全版本报错或Timestamp功能失效,具体尝试如下:

  • 尝试1:
    Activity 1:

    intent.putExtra("timeStamp", timeStamp)
    

    Activity 2:

    val timeStamp = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                    intent.getParcelableExtra("timeStamp", Timestamp::class.java)
                } else {
                    intent.getParcelableExtra<Timestamp>("timeStamp")
                }
    
  • 尝试2:
    Activity 1:

    intent.putExtra("timeStamp", timeStamp)
    

    Activity 2:

    intent.setExtrasClassLoader(Timestamp::class.java.classLoader)
    val timeStamp = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                    intent.getParcelableExtra("timeStamp", Timestamp::class.java)
                } else {
                    intent.getParcelableExtra<Timestamp>("timeStamp")
                }
    
  • 尝试3:
    Activity 1:

    intent.setExtrasClassLoader(Timestamp::class.java.classLoader)
    intent.putExtra("timeStamp", timeStamp)
    

    Activity 2:

    val timeStamp = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                    intent.getParcelableExtra("timeStamp", Timestamp::class.java)
                } else {
                    intent.getParcelableExtra<Timestamp>("timeStamp")
                }
    
  • 尝试4(改用Long类型转换):
    Activity 1:

    intent.putExtra("timeStampLong", claim.sentTime.seconds)
    

    Activity 2:

    val timeStampLong = intent.getLongExtra("timeStampLong", -1L)
    val timeStamp = Timestamp(Date(timeStampLong))
    

    该方案起初看似可行,但转换后的Timestamp在后续使用时无响应(其他位置类似转换可正常工作)。

内容的提问来源于stack exchange,提问作者Para1life

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 06:57:38