Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GoogleClientAppConnected异常从何而来?_Android_Google Api Client - Fatal编程技术网

Android GoogleClientAppConnected异常从何而来?

Android GoogleClientAppConnected异常从何而来?,android,google-api-client,Android,Google Api Client,对于一个项目,我正在创建一个android应用程序,它包括一个WebView、一个可以从后台切换到前台的服务、一个LocationManager,首先依赖NETWORK\u提供商,然后依赖GPS\u提供商。 在非常随机的情况下,启动应用程序时,我在logcat输出中发现此异常: E/GoogleApiClientConnecting: GoogleApiClient connecting is in step STEP_SERVICE_BINDINGS_AND_SIGN_IN but recei

对于一个项目,我正在创建一个android应用程序,它包括一个
WebView
、一个可以从后台切换到前台的
服务
、一个
LocationManager
,首先依赖
NETWORK\u提供商
,然后依赖
GPS\u提供商
。 在非常随机的情况下,启动应用程序时,我在logcat输出中发现此异常:

E/GoogleApiClientConnecting: GoogleApiClient connecting is in step STEP_SERVICE_BINDINGS_AND_SIGN_IN but received callback for step STEP_GETTING_REMOTE_SERVICE
    java.lang.Exception
        at qw.b(PG:25)
        at qw.c(PG:36)
        at Iw.c(PG:3)
        at Gx.c(PG:2)
        at ly.d(PG:15)
        at gy.a(PG:19)
        at iy.c(PG:6)
        at hy.handleMessage(PG:46)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at oG.dispatchMessage(PG:1)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:65)
我检查了我的代码和依赖项,似乎没有任何与GoogleAppClient相关的东西(我发现它已经过时了)。我不(有意识地)使用Google Play商店集成之类的东西

这个异常似乎会大大降低我的WebView的速度(每一个XHR或fetch都会暂停大约3秒钟)。我不知道这有什么关系

此外,它仅在启动或重新启动应用程序时偶尔发生(有时在清除所有数据后)


任何帮助都将不胜感激,这让我很烦。

正如评论中提到的,这是关于谷歌服务使用的。通过查找Google Gms库的源代码,您可以找到这样做的原因。在库初始化期间

1) 详细地说,谷歌服务正在Android中初始化为绑定服务。只要
GoogleApiClient
准备就绪,很少有int标志只用于注释。通过使用两个值
STEP\u SERVICE\u BINDINGS\u和\u SIGN\u IN
STEP\u get\u REMOTE\u SERVICE
。其中一些

2) 为了解决您的问题,您需要从其他依赖项检查该服务的初始化。根库是
com.google.android.gms
。您可以通过调用
/gradlew app:dependencies
随时检查此库的使用情况


3) 在找到这个图书馆的同时,你可以检查哪些已经过时了。2017年,
GoogleAppClient
的使用被弃用并删除。所以可能它仍然被需要更新的旧库使用

我找到的唯一解决办法是完全禁用设备上的“谷歌播放保护”(设置->谷歌->安全->谷歌播放保护->顶部的齿轮->常规->使用播放保护扫描应用程序)


它具有非常强的侵入性和潜在的危险性。(不过,我的评估已经足够了。)

我们刚刚找到了解决这个问题的好办法。谷歌似乎正在用谷歌Play Protect检查你在应用程序中调用的每个URL。由于某些原因,某些URL无法通过此URL检查,因此Google Play Protect在检查URL时不知何故被卡住

为了解决这个问题,我们找到了一种将我们在应用程序中使用的URL列入白名单的方法。通过在webview对象上调用以下方法,可以将URL列为白名单:

webviewObject.setSafeBrowsingWhitelist(listOfURLs, null);

我们还注意到,这大大提高了调用这些特定URL的性能。某些URL的打开延迟比以前低得多。

您为方法注册了错误的回调。检查你的导入和回调方法。但我没有在我的应用程序中注册任何内容。我甚至没有使用像“GoogleapClient”这样的东西。不知怎的,这条
消息
最终出现在我的应用程序的消息队列中,我不知道该怎么做。如果你不直接使用GoogleAppClient,你的一个库似乎就是。运行gradle app:dependencies以检查其来源。另外,在没有混淆的情况下发布日志会更有用;)是的。没有任何迹象表明存在任何GoogleApi依赖关系。我同意,不必只看到模糊的stacktrace应该会有所帮助,但这就是我得到的。顺便说一句,我甚至不能调试这个异常。不知何故,这一次的执行没有中断。你能给我们看一下你的依赖项列表吗?嘿,谢谢你提供的信息。>我检查了我的代码和依赖项..我已经检查过,
com.google.android.gms
不在
/gradlew app:dependencies
@shoesel共享你的
应用程序
文件和MainActivity`的输出中。让我们看看你在哪里。