Flutter AndroidでFATAL EXCEPTION: grpc-okhttp-0が出たときの対処法

はじめに

先日Flutter2.8にアップグレードしました。その時はAndroidの実機を使って挙動確認をしていて何事もなく、Flutterアップグレードがすんなりいってよかった〜ということで一安心していました。

しかしつい先ほどAndroidのエミュレータでアプリを起動すると。。。

E/AndroidRuntime( 2256): FATAL EXCEPTION: grpc-okhttp-0 E/AndroidRuntime( 2256): Process: com.example, PID: 2256 E/AndroidRuntime( 2256): java.lang.AssertionError: Method getAlpnSelectedProtocol not supported for object SSL socket over Socket[address=firestore.googleapis.com/216.58.220.138,port=443,localPort=36560] E/AndroidRuntime( 2256): at io.grpc.okhttp.internal.OptionalMethod.invoke(OptionalMethod.java:114) E/AndroidRuntime( 2256): at io.grpc.okhttp.internal.OptionalMethod.invokeWithoutCheckedException(OptionalMethod.java:135) E/AndroidRuntime( 2256): at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.getSelectedProtocol(OkHttpProtocolNegotiator.java:183) E/AndroidRuntime( 2256): at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.negotiate(OkHttpProtocolNegotiator.java:145) E/AndroidRuntime( 2256): at io.grpc.okhttp.OkHttpTlsUpgrader.upgrade(OkHttpTlsUpgrader.java:63) E/AndroidRuntime( 2256): at io.grpc.okhttp.OkHttpClientTransport$4.run(OkHttpClientTransport.java:571) E/AndroidRuntime( 2256): at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) E/AndroidRuntime( 2256): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) E/AndroidRuntime( 2256): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) E/AndroidRuntime( 2256): at java.lang.Thread.run(Thread.java:920) I/Process ( 2256): Sending signal. PID: 2256 SIG: 9 Lost connection to device.
Code language: PHP (php)

なんか出てる!!!??

というわけで本記事では FATAL EXCEPTION: grpc-okhttp-0が出たときの対処方法をまとめます。

環境

  • MacOS BigSur 11.4
  • Flutter 2.8
  • Dart 2.15

対処方法

android/app/build.gradledependenciesに以下を追記してください。

dependencies { ... ... implementation "io.grpc:grpc-okhttp:1.32.2" }
Code language: JavaScript (javascript)

これでいけるはずです。アプリが起動できるかと思います。

Related Posts