如何修复调用失败的意外响应从服务器: 未授权在 Android 工作室

我有一个关于 Gitlab的项目,我与它工作了最后几天!

现在我想在我的家庭电脑 pull项目,但显示我下面的错误:

Invocation failed Unexpected Response from Server:  Unauthorized
java.lang.RuntimeException: Invocation failed Unexpected Response from Server:  Unauthorized
at org.jetbrains.git4idea.nativessh.GitNativeSshAskPassXmlRpcClient.handleInput(GitNativeSshAskPassXmlRpcClient.java:34)
at org.jetbrains.git4idea.nativessh.GitNativeSshAskPassApp.main(GitNativeSshAskPassApp.java:30)
Caused by: java.io.IOException: Unexpected Response from Server:  Unauthorized
at org.apache.xmlrpc.LiteXmlRpcTransport.sendRequest(LiteXmlRpcTransport.java:231)
at org.apache.xmlrpc.LiteXmlRpcTransport.sendXmlRpc(LiteXmlRpcTransport.java:90)
at org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:72)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:185)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)

我的机器人工作室版本是 3.4

66720 次浏览

成功地解决了这个问题:

AndroidStudio-> 参数设置-> Git-> SSH 可执行文件,从 Native改为 Built-in并开始工作。

编辑: 这是针对 Android Studio 3.4的,因为3.6 Volodymyr 在下面给出了答案。

如果您的 SSH 密钥对使用密码保护,则似乎会出现此错误

本地人 SSH Executebale 无法在 Android Studio afaik 中提示您输入密码,因此如果没有提供其他凭据,身份验证将失败。

通过使用 内置的 SSH 可执行文件,您可以在 Android 工作室中通过提示输入密码。

艾德里安提供的答案对我来说非常有效。

我也有同样的问题,通过在命令行中将 SSH 私钥添加到 SSH-agent 来解决这个问题:

$ ssh-add -K ~/.ssh/id_rsa

此外,检查 Git 设置是否设置为“本机”

Settings --> Version Control --> GitSSH executable:下拉列表中,选择 Native

剪辑 在 Android Studio 的最新版本3.6.1中修复了这个问题 Https://androidstudio.googleblog.com/2020/02/android-studio-361-available.html

您可以尝试这一点,不要使用快捷方式(git@github.com:/example/example.git)登录提供的 git,直接提交使用完整的回购地址(https://github.com/example/example.git)。

File-> set-> git-> SSH 可执行文件: 下拉列表,选择内置

在 Windows 10上使用 Android Studio 3.6.2,启用凭据帮助器对我来说很有用

AndroidStudio -> File -> Settings -> Git -> Use credential helper

如果您试图从 Android Studio 4或以上推到 Github,并得到这个错误消息,您必须重新登录到 Github

Android Studio -> Setting-> GitHub

如果您不能使用用户名和密码登录 尝试从 GitHub 获得一个令牌

Https://github.com/settings/tokens

然后生成新的令牌,如果你没有一个和登录与 Token一样的照片-

enter image description here

我有 使用访问令牌登录到 gitHub
已经过期了。

所以我在这里摸索。

解决方案:

enter image description here

我遇到了同样的问题,从 gitlab 克隆了我的项目,并在终端中使用命令保存 credential.helper:

   git config credential.helper store

还有

 git fetch

enter image description here

使用以下步骤可以越过 HTTPS 而不是 SSH:

  1. git config credential.helper store
  2. 您将被要求提供凭据用户名/令牌或通行证。
  3. 在首选项 > GIT > 使用凭据帮助程序中检查此选项 The checkbox Use Credential Helper

下面是对我有用的,我在 bitbucket 和 github 上运行不同的 ID

  1. 启用凭据帮助程序 AndroidStudio -> File -> Settings -> Git -> Use credential helper
  2. 查了 git config credential.helper store
  3. 通过控制台运行 git fetch一次

我在 Bitbucket 上遇到过同样的问题,正如他们所说的,Bitbucket Cloud 最近停止支持 Git 身份验证的帐户密码。如果你使用 bitbucket,这里是你需要做的。

详情: https://atlassian.community/t5/x/x/ba-p/1948231

  1. 创建一个应用程序密码 如何创建应用程序密码

允许适当的权限并创建密码。一旦生成了密码,您需要将其存储起来,以备以后在其他地方使用,因为您不会再看到它。

  1. Goto AndroidStudio-> 参数设置-> Git,勾选“使用凭证助手”并申请。

  2. 运行“ git 撷取”,凭证助手将弹出,并输入保存的应用程序密码和中提琴!

剪辑

以下网址:

如何使用“ git get”命令

git fetch command

git remote add origin "git link"

它会询问密码

按照这个链接 https://bitbucket.org/account/settings/app-passwords/

创建应用程序密码。并将其存储在某个地方。当询问时,需要放置密码。

git fetch
git pull origin master

就这些了。

我面对这个问题为我的位桶帐户,然后我使用终端得到准确的错误。

以下是我的观察

1-git pull
fatal: Invalid credentials -- this was the error coming
remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.

之后,我必须从下面的链接创建应用程序密码。

https://bitbucket.org/account/settings/app-passwords/

设置所有权限后,它将为您创建一个密码

然后使用这个密码在凭证管理器或终端时,它将任务。

这是我观察和解决的最新问题,希望它可以帮助任何人。

我也遇到过类似的情况。以下是解决我的问题的步骤。

  1. 转到 https://bitbucket.org/account/settings/app-passwords/
  2. 创建应用程序密码
  3. 然后执行 git config credential.helper store
  4. 运行 git fetch
  5. 然后它会询问密码,输入从 bitbucket 控制台创建的密码。

那就成功了。

试试这个: Git config —— global ——取消 http.xy 设置

在我的情况下,我的代币已经过期... 我没有注意到过期被设置为7天

文件-> 无效缓存和重新启动 在我的情况下工作

对于 Android 花栗鼠:

  1. 档案
  2. 无效缓存
  3. 无效并重新启动

这招对我很管用。

出现这个错误是因为 android 工作室由于某些问题或者您的 Github 令牌凭据已过期无法读取凭据

这个 回答可以工作,但是如果您已经在使用基于 GitHub 令牌的身份验证,这种方法也会有所帮助:

  1. 进入 AndroidStudio-> 文件-> 设置-> GitHub-> 删除帐户
  2. 生成一个新的 github 标记或 更新现有的
  3. 在 AndroidStudio-> File-> Settings-> GitHub,Apply and Save 中再次添加帐户
  4. 使缓存无效并重新启动 Android Studio

对我来说,我只是关闭了 Andriod Studio,然后重新开张,问题就解决了。

要解决这个问题,您必须从 窗户证件。删除 GitHub 凭据,然后从右侧删除 GitHub 用户名和密码。 你可以在控制室找到窗户证件。 当窗口凭据中提到的 GitHub 用户名或密码错误时,就会发生此问题。