net. unknownhostexception无法解析主机“accounts.google.com”:在bigquery中插入行时,没有与主机名关联的地址

时间:2022-10-01 15:33:56

Hi I am working on android app in which I have integrated BigQuery. I see we are getting a lot of exception sometimes while inserting records in BigQuery tables. We are not expertise in this but started to learn this new technology. It would be great if you guys can help me on this.

你好,我正在开发一个android应用程序,我在其中集成了BigQuery。我看到,在向BigQuery表插入记录时,有时会遇到很多异常。我们不是这方面的专家,而是开始学习这项新技术。如果你们能在这方面帮助我就太好了。

   java.net.UnknownHostException: Unable to resolve host "accounts.google.com": No address associated with hostname
          at java.net.InetAddress.lookupHostByName(InetAddress.java:424)
          at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
          at java.net.InetAddress.getAllByName(InetAddress.java:214)
          at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
          at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
          at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
          at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
          at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
          at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
          at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:254)
          at com.google.a.a.c.a.c.a(NetHttpRequest.java:77)
          at com.google.a.a.c.r.p(HttpRequest.java:972)
          at com.google.a.a.a.a.h.a(TokenRequest.java:307)
          at com.google.a.a.b.a.a.b.f(GoogleCredential.java:384)
          at com.google.a.a.a.a.c.h(Credential.java:489)
          at com.google.a.a.a.a.c.a(Credential.java:217)
          at com.google.a.a.c.r.p(HttpRequest.java:859)
          at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.java:469)
          at com.test.utils.c.c(CommonUtility.java:2730)
          at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.java:71)
          at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
          at android.os.Handler.dispatchMessage(Handler.java:102)
          at android.os.Looper.loop(Looper.java:136)
          at android.os.HandlerThread.run(HandlerThread.java:61)
   Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
          at libcore.io.Posix.getaddrinfo(Posix.java)
          at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
          at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
          at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
          at java.net.InetAddress.getAllByName(InetAddress.java:214)
          at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
          at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
          at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
          at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
          at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
          at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
          at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
          at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:254)
          at com.google.a.a.c.a.c.a(NetHttpRequest.java:77)
          at com.google.a.a.c.r.p(HttpRequest.java:972)
          at com.google.a.a.a.a.h.a(TokenRequest.java:307)
          at com.google.a.a.b.a.a.b.f(GoogleCredential.java:384)
          at com.google.a.a.a.a.c.h(Credential.java:489)
          at com.google.a.a.a.a.c.a(Credential.java:217)
          at com.google.a.a.c.r.p(HttpRequest.java:859)
          at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.java:469)
          at com.test.utils.c.c(CommonUtility.java:2730)
          at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.java:71)
          at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
          at android.os.Handler.dispatchMessage(Handler.java:102)
          at android.os.Looper.loop(Looper.java:136)
          at android.os.HandlerThread.run(HandlerThread.java:61)

2 个解决方案

#1


11  

This Exception Thrown to indicate that the IP address of a host could not be determined.

此异常表示无法确定主机的IP地址。

This exception is also raised when you are connected to a valid wifi but router does not receive the internet. Its very easy to reproduce this:

当您连接到一个有效的wifi,但是路由器不接收互联网时,也会引发此异常。这很容易复制:

Connect to a valid wifi Now remove the cable from the router while router is pluged-in

连接到一个有效的wifi后,当路由器插入时,从路由器上移除电缆

You will observe this error!!

你会发现这个错误!!

You can't really solve this, You can only notify the user gracefully. (something like - "Unable to make a connection")

你不能真正解决这个问题,你只能优雅地通知用户。(比如“无法建立联系”)

also make sure you have added the permission in AndroidManifest.xml.

还要确保在AndroidManifest.xml中添加了权限。

<uses-permission android:name="android.permission.INTERNET" />

#2


1  

Have you added the INTERNET permission to your manifest file.

是否已将互联网权限添加到清单文件中。

If not, add below line outside the application tag in your AndroidManifest.xml:

如果没有,请在AndroidManifest.xml中,在应用程序标记之外添加以下行:

<uses-permission android:name="android.permission.INTERNET" /> 

#1


11  

This Exception Thrown to indicate that the IP address of a host could not be determined.

此异常表示无法确定主机的IP地址。

This exception is also raised when you are connected to a valid wifi but router does not receive the internet. Its very easy to reproduce this:

当您连接到一个有效的wifi,但是路由器不接收互联网时,也会引发此异常。这很容易复制:

Connect to a valid wifi Now remove the cable from the router while router is pluged-in

连接到一个有效的wifi后,当路由器插入时,从路由器上移除电缆

You will observe this error!!

你会发现这个错误!!

You can't really solve this, You can only notify the user gracefully. (something like - "Unable to make a connection")

你不能真正解决这个问题,你只能优雅地通知用户。(比如“无法建立联系”)

also make sure you have added the permission in AndroidManifest.xml.

还要确保在AndroidManifest.xml中添加了权限。

<uses-permission android:name="android.permission.INTERNET" />

#2


1  

Have you added the INTERNET permission to your manifest file.

是否已将互联网权限添加到清单文件中。

If not, add below line outside the application tag in your AndroidManifest.xml:

如果没有,请在AndroidManifest.xml中,在应用程序标记之外添加以下行:

<uses-permission android:name="android.permission.INTERNET" />