android - 使用 Unity 在 Android 中初始化 Google Play 游戏客户端
问题描述
前段时间我有 Google Play Services 工作,但似乎从 unity 2018.1 升级到 2018.2 后它停止工作。(我不确定升级是否导致此问题)
在统一日志中,我可以看到:
Starting Auth with token client.
!!![Play Games Plugin DLL]07/17/18 15:49:08 +02:00 WARNING: Creating new PlayGamesPlatform
Building GPG services, implicitly attempts silent auth
而不是应用程序崩溃
在发布前报告中,我可以看到它在应用程序启动时崩溃(来自 logcat):
07-19 05:29:53.387: E/MonitoringInstr(20897): Exception encountered by: Thread[main,5,main]. Dumping thread state to outputs and pining for the fjords.
07-19 05:29:53.387: E/MonitoringInstr(20897): java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information.
07-19 05:29:53.387: E/MonitoringInstr(20897): at com.google.android.gms.common.internal.zze.zzv(Unknown Source)
07-19 05:29:53.387: E/MonitoringInstr(20897): at com.google.android.gms.common.internal.zzi.zzakg(Unknown Source)
07-19 05:29:53.387: E/MonitoringInstr(20897): at com.google.android.gms.common.internal.zzh.handleMessage(Unknown Source)
07-19 05:29:53.387: E/MonitoringInstr(20897): at android.os.Handler.dispatchMessage(Handler.java:102)
07-19 05:29:53.387: E/MonitoringInstr(20897): at android.os.Looper.loop(Looper.java:158)
07-19 05:29:53.387: E/MonitoringInstr(20897): at android.app.ActivityThread.main(ActivityThread.java:7230)
07-19 05:29:53.387: E/MonitoringInstr(20897): at java.lang.reflect.Method.invoke(Native Method)
07-19 05:29:53.387: E/MonitoringInstr(20897): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
07-19 05:29:53.387: E/MonitoringInstr(20897): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
其次是:
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[UnityMain,5,main]
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityPlayer.nativeRender(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityPlayer.c(Unknown Source)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityPlayer$e$2.queueIdle(Unknown Source)
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.MessageQueue.next(MessageQueue.java:392)
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.Looper.loop(Looper.java:143)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityPlayer$e.run(Unknown Source)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[InstrumentationConnectionThread,5,main]
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.MessageQueue.nativePollOnce(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.MessageQueue.next(MessageQueue.java:323)
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.Looper.loop(Looper.java:143)
07-19 05:29:53.397: E/THREAD_STATE(20897): android.os.HandlerThread.run(HandlerThread.java:61)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[ReferenceQueueDaemon,5,system]
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Object.wait(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:162)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.run(Thread.java:818)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[Thread-3086,4,main]
07-19 05:29:53.397: E/THREAD_STATE(20897): libcore.io.Posix.android_getaddrinfo(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.net.InetAddress.lookupHostByName(InetAddress.java:451)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.net.InetAddress.getAllByName(InetAddress.java:215)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:220)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:176)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:108)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:482)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:465)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:447)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:353)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:476)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:540)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityWebRequest.runSafe(Unknown Source)
07-19 05:29:53.397: E/THREAD_STATE(20897): com.unity3d.player.UnityWebRequest.run(Unknown Source)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[HeapTaskDaemon,5,system]
07-19 05:29:53.397: E/THREAD_STATE(20897): dalvik.system.VMRuntime.runHeapTasks(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:370)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.run(Thread.java:818)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[FinalizerWatchdogDaemon,5,system]
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.sleep(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.sleep(Thread.java:1031)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.sleep(Thread.java:985)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:288)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:299)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:247)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.run(Thread.java:818)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[main,5,main]
07-19 05:29:53.397: E/THREAD_STATE(20897): dalvik.system.VMStack.getThreadStackTrace(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.getStackTrace(Thread.java:580)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.getAllStackTraces(Thread.java:522)
07-19 05:29:53.397: E/THREAD_STATE(20897): androidx.test.runner.MonitoringInstrumentation.getThreadState(MonitoringInstrumentation.java:194)
07-19 05:29:53.397: E/THREAD_STATE(20897): androidx.test.runner.MonitoringInstrumentation.dumpThreadStateToOutputs(MonitoringInstrumentation.java:191)
07-19 05:29:53.397: E/THREAD_STATE(20897): androidx.test.runner.MonitoringInstrumentation.onException(MonitoringInstrumentation.java:188)
07-19 05:29:53.397: E/THREAD_STATE(20897): androidx.test.runner.AndroidJUnitRunner.onException(AndroidJUnitRunner.java:117)
07-19 05:29:53.397: E/THREAD_STATE(20897): androidx.test.runner.MonitoringInstrumentation$3.uncaughtException(MonitoringInstrumentation.java:2)
07-19 05:29:53.397: E/THREAD_STATE(20897): Thread[GAC_Executor[0],5,main]
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Object.wait(Native Method)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.lang.Thread.parkFor$(Thread.java:1220)
07-19 05:29:53.397: E/THREAD_STATE(20897): sun.misc.Unsafe.park(Unsafe.java:299)
07-19 05:29:53.397: E/THREAD_STATE(20897): java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
07-19 05:29:53.397: E/THREAD_STATE(20897):
同样从 Pre-launch 开始,它在 Pixel 2 手机上没有错误。(可能是因为它是唯一一个运行 android P 预览版的手机)
我试过了:
使用 sdk 重新安装 android studio
从github重新导入google play游戏以实现统一
更改 google play 解析器设置以使用较旧的 .aars(在 10.6.2 | 10.0.1 | 10.0.4 上测试)
如其他线程所示,对 AndroidMainfest.xml 进行更改,但由于覆盖现有条目(与我尝试添加的条目相同),这些解决方案大多在构建时失败
我没有任何其他想法可以尝试让它再次工作。因此,任何建议都值得赞赏。
解决方案
推荐阅读
- ssl-certificate - Python 证书颁发机构服务器
- xml - 如何将 IMPORTXML 与 Google 表格一起使用以获得多个结果,每个结果都在不同的列中?
- ios - UITextView 在循环期间不更新
- mysql - 无法使用 JDBC 将 Apps 脚本连接到 Cloud SQL
- python - 尽管返回一个列表,但得到无
- javascript - How can I fix importing modules CORS policy error in JavaScript
- reactjs - how to make changes in reactjs project on production? on aws ec2?
- node.js - Node.js completely remove file in a running script
- java - design problem with starting foreground service from other foreground service
- javascript - In a Leaflet Map, how to make the popup scroll between different markers at the exact same coordinates?