android - 如何设置环境变量 GOOGLE_APPLICATION_CREDENTIALS?
问题描述
我知道以前有人问过这类问题,我已经解决了这个问题,但仍然面临这个问题。我正在使用这个例子。但是当我运行我的代码时,我得到了以下异常
无法检测我们是否在 Google Compute Engine 上运行。java.net.ConnectException:无法在 com.android.okhttp.internal.io.RealConnection 的 com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143) 连接到 /169.254.169.254:80。在 com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184) 在 com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 连接(RealConnection.java:112)在 com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 在 com.android.okhttp.internal.http。doInBackground(MainActivity.java:61) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1 .run(AsyncTask.java:245) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 在 java.lang。 Thread.run(Thread.java:764) W/System.err: java.io.IOException: 应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。看https://developers.google.com/accounts/docs/application-default-credentials了解更多信息。W/System.err:在 com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:119) W/System.err:在 com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:127) W/System.err:在 com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:100) W/System.err:在 com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java: 53) W/System.err:在 com.google.api.gax.rpc.ClientContext.create(ClientContext.java:134) W/System.err:在 com.google.cloud.dialogflow.v2.stub.GrpcSessionsStub。 create(GrpcSessionsStub.java:75) W/System.err: at com.google.cloud.dialogflow.v2.stub.SessionsStubSettings.createStub(SessionsStubSettings.java:100) W/System.err: at com.
从哪里可以在android studio中设置环境变量,我是windows用户
解决方案
从错误
java.io.IOException:应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件
有关更多信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials 。
您可能需要在环境变量 path 中添加它GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json
。并且应该从这里获取 json 文件https://cloud.google.com/docs/authentication/getting-started。此外,如果您不知道如何设置环境变量路径,您可以查看此https://www.computerhope.com/issues/ch000549.htm
推荐阅读
- android - 如何比较 JNI 中的两个 jbyteArray?
- kotlin-coroutines - 如何将挂起函数作为参数传递给另一个函数?Kotlin 协程
- node.js - 使用 Firebase 根据身份验证状态提供动态内容
- php - 用 pecee-pixie 中另一个表的值更新一个表
- python - 在 node-red 应用程序的脚本之间共享连接
- python - 尽管没有出现任何错误,但我的 Tkinter GUI 无法运行。这是为什么?
- ionic-framework - pdfMake不使用文件插件IONIC创建pdf
- php - 如何更新以下 jquery 以仅带来行业属性?
- java - bouncycsatle ecdsa 验证签名失败,但通过 openssl
- react-native - 使用vscode时如何在.tsx/jsx文件中进行css自动补全?