Microsoft Health 应用程序的最新更新似乎破坏了与 SDK 预览的向后兼容性,导致 Android 开发出现类似于以下错误:
04-28 20:02:09.001 8840-9755/org.hackerforhire.msbandlight E/AndroidRuntime﹕ FATAL EXCEPTION: f
Process: org.hackerforhire.msbandlight, PID: 8840
java.lang.RuntimeException: Parcel android.os.Parcel@1d1d95f2: Unmarshalling unknown type code 40 at offset 368
at android.os.Parcel.readValue(Parcel.java:2228)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2485)
at android.os.BaseBundle.unparcel(BaseBundle.java:221)
at android.os.Bundle.getParcelable(Bundle.java:755)
at com.microsoft.band.f.d(SourceFile:820)
at com.microsoft.band.f.d(SourceFile:40)
at com.microsoft.band.f$d.a(SourceFile:892)
at com.microsoft.band.internal.e$3.handleMessage(SourceFile:137)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at com.microsoft.band.internal.e.run(SourceFile:148)
我以前认为这是每个堆栈溢出的 ProGuard 规则的问题;但是,这没有任何影响。
在这一点上,我真的很想看看是否有人可以提出一个深入库 JAR 的好方法,看看是否有一些我可以手动修补的东西来让事情正常工作。有没有这样的事情,或者最好只是希望微软很快会发布一个新的 SDK?
版本信息:
- 微软健康版:
1.3.10427.2
- 微软手环 SDK 版本:
1.3.10215.1
- 微软手环固件版本:
10.2.2810.0 09 R
- 安卓版本:5.1 (Nexus 6)
2015-04-30 更新:确认最新版本的 SDK ( 1.3.10428.1
) 解决了此问题。