web-dev-qa-db-ja.com

キーの要求中のIOException:無効なデバイスキーの応答

灌漑システムのバルブを制御するリレーを操作するために、Google IOTを備えたPi 3を使用しています。このシステムはインターネットを使用して天気予報を取得し、使用する水の量を処理し、NanoHTTPDを使用してUIを提供します。

それはうまく動いていますが、時々私はすべてを止めるエラーを受け取ります。ログファイルから:

05-04 05:26:14.677 737-1077/com.google.Android.gms.persistent W/Conscrypt: Could not set socket write timeout:
05-04 05:26:14.678 737-1077/com.google.Android.gms.persistent W/Conscrypt:    Java.lang.reflect.Method.invoke(Native Method)
       com.google.Android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.Android.gms@11973330:13)
05-04 05:26:14.798 737-1077/com.google.Android.gms.persistent W/Conscrypt: Could not set socket write timeout:
05-04 05:26:14.799 737-1077/com.google.Android.gms.persistent W/Conscrypt:    Java.lang.reflect.Method.invoke(Native Method)
       com.google.Android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.Android.gms@11973330:13)
05-04 05:26:14.914 737-1077/com.google.Android.gms.persistent W/GLSUser: [AppCertManager] IOException while requesting key: 
    Java.io.IOException: Invalid device key response.
        at fmk.a(:com.google.Android.gms@11973330:12)
        at fmk.a(:com.google.Android.gms@11973330:64)
        at fmi.a(:com.google.Android.gms@11973330:8)
        at fme.a(:com.google.Android.gms@11973330:1)
        at fmd.a(:com.google.Android.gms@11973330:10)
        at com.google.Android.gms.auth.account.be.legacy.AuthCronChimeraService.b(:com.google.Android.gms@11973330:7)
        at ers.call(:com.google.Android.gms@11973330:3)
        at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)
        at kfr.run(:com.google.Android.gms@11973330:26)
        at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1162)
        at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:636)
        at kku.run(Unknown Source:7)
        at Java.lang.Thread.run(Thread.Java:764)

これを防ぐためのヒントを教えてください。

ありがとう。

10
pir8ped

シンプル。これは、IOTサービスに関連付けられているGoogleコンソールのキーが、Mac/Pi 3にローカルに保存されているキーと一致しないことを意味します。

keytool -list -v -keystore <your keystore> -storepass <your store password>を実行し、SHA1またはSHA256の下のキーをGoogleコンソールにコピーします。

keytool -genkeypairが存在しない場合は、keystoreを作成できます。

他の便利なコマンドについては、keytool -hを実行してください。

3
Dennis Murage