web-dev-qa-db-ja.com

バインダースタブの実装からRuntimeExceptionをキャッチしました

私はこのRuntimeExceptionに遭遇し、それをデバッグするのに苦労しています:

W/Binder﹕ Caught a RuntimeException from the binder stub implementation.
com.google.Android.gms.common.internal.safeparcel.zza$zza: Expected object header. Got 0x1 Parcel: pos=136 size=284
        at com.google.Android.gms.common.internal.safeparcel.zza.zzJ(Unknown Source)
        at com.google.Android.gms.wearable.internal.zzf.zzfv(Unknown Source)
        at com.google.Android.gms.wearable.internal.zzf.createFromParcel(Unknown Source)
        at com.google.Android.gms.wearable.internal.zzah$zza.onTransact(Unknown Source)
        at Android.os.Binder.execTransact(Binder.Java:446)

例外がどこから来ているのかを特定していないようです。これはAndroid Wearアプリで、定期的に音声を録音して電話に転送します。

どこを見るべきか、またはこれをどのようにデバッグすべきかについてのアイデアをいただければ幸いです。

ありがとうございました。

23
isal

データ転送にGoogleFit HistoryAPIを使用して同様のエラーが発生しました。その場合、それは失敗したバインダートランザクションでした(JavaBinder:!!! FAILED BINDER TRANSACTION !!!(小包サイズ= ...))。アプリはクラッシュしませんでしたが、データ転送は機能しませんでした。私にとってそれを修正したのは、一度に送信されるデータの量を減らすことでした。複数の小さなチャンクでデータを送信することは、私が今していることです。

ウェアラブルから携帯電話に大量のデータを送信するには、 チャネルAPI を使用することをお勧めします。 5〜10MBのサイズのMP3ファイルを問題なく転送するために使用しています。

1