由于OKHTTP
我正在尝试在我的libgdx应用中使用GRPC。 GRPC使用OKHTTP进行网络调用。 它在Android中的工作正常,但是当我尝试使用Robovm编译器将LibGDX应用程序移植到iOS时,我将遵循crash crash: -
io.grpc.StatusRuntimeException: UNAVAILABLE
at io.grpc.StatusRuntimeException.<init>(StatusRuntimeException.java:58)
at io.grpc.StatusRuntimeException.<init>(StatusRuntimeException.java:50)
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:259)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:243)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:156)
Caused by: java.lang.RuntimeException: We can not do TLS handshake on this Android version, please install the Google Play Services Dynamic Security Provider to use TLS
at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.configureTlsExtensions(OkHttpProtocolNegotiator.java:302)
at io.grpc.okhttp.OkHttpProtocolNegotiator.negotiate(OkHttpProtocolNegotiator.java:96)
at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.negotiate(OkHttpProtocolNegotiator.java:218)
at io.grpc.okhttp.OkHttpTlsUpgrader.upgrade(OkHttpTlsUpgrader.java:63)
at io.grpc.okhttp.OkHttpClientTransport$4.run(OkHttpClientTransport.java:574)
code-block: -
public AuthenticateUserResponse authenticateUser(AuthenticateUserRequest request) {
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getAuthenticateUserMethod(), getCallOptions(), request);
}
robovm&amp&amp; OKHTTP: -
roboVMVersion = '2.3.16'
gdxVersion = '1.10.0'
grpcVersion = '1.45.0'
api "com.mobidevelop.robovm:robovm-rt:$roboVMVersion"
api "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion"
api "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
implementation "io.grpc:grpc-okhttp:$grpcVersion"
有人可以帮忙吗?
I am trying to use Grpc in my libgdx app. Grpc uses okhttp to make network calls.
Its working perfectly fine in android, but when I am trying to port my libgdx app to ios using Robovm compiler, I am getting following crash:-
io.grpc.StatusRuntimeException: UNAVAILABLE
at io.grpc.StatusRuntimeException.<init>(StatusRuntimeException.java:58)
at io.grpc.StatusRuntimeException.<init>(StatusRuntimeException.java:50)
at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:259)
at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:243)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:156)
Caused by: java.lang.RuntimeException: We can not do TLS handshake on this Android version, please install the Google Play Services Dynamic Security Provider to use TLS
at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.configureTlsExtensions(OkHttpProtocolNegotiator.java:302)
at io.grpc.okhttp.OkHttpProtocolNegotiator.negotiate(OkHttpProtocolNegotiator.java:96)
at io.grpc.okhttp.OkHttpProtocolNegotiator$AndroidNegotiator.negotiate(OkHttpProtocolNegotiator.java:218)
at io.grpc.okhttp.OkHttpTlsUpgrader.upgrade(OkHttpTlsUpgrader.java:63)
at io.grpc.okhttp.OkHttpClientTransport$4.run(OkHttpClientTransport.java:574)
Code-block:-
public AuthenticateUserResponse authenticateUser(AuthenticateUserRequest request) {
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getAuthenticateUserMethod(), getCallOptions(), request);
}
Gradle dependancies for Robovm & okhttp:-
roboVMVersion = '2.3.16'
gdxVersion = '1.10.0'
grpcVersion = '1.45.0'
api "com.mobidevelop.robovm:robovm-rt:$roboVMVersion"
api "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion"
api "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
implementation "io.grpc:grpc-okhttp:$grpcVersion"
Can someone help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论