Android Studio 3.2 Canary 14 Github集成异常:UI操作鉴权失败求助
这问题我之前帮朋友排查过类似的,结合你的情况——测试连接正常、控制台Git和旧版AS都没问题,大概率是Canary预览版的GitHub认证缓存/插件机制出了小兼容性bug,下面是几个实用的解决方向:
清除并重新添加GitHub账号
先打开File > Settings > Version Control > GitHub,移除当前已绑定的账号,然后重启Android Studio。重新添加账号时,优先选择Personal Access Token认证(在GitHub设置里生成一个带repo权限的Token),比密码认证更稳定,也能避开预览版对密码认证流程的兼容性问题。检查Git凭证存储配置
虽然控制台Git正常,但AS的Git插件可能用了不同的凭证存储方式。打开终端执行:git config --global credential.helper如果输出是
manager(Windows)或osxkeychain(Mac)这类系统级工具,试着先在系统凭证管理器里删除GitHub的旧凭证,再通过AS执行push/pull操作,触发重新授权的弹窗后输入正确的凭证。切换远程仓库URL为HTTPS格式
有时候AS的UI没正确读取SSH格式的远程配置。在项目根目录的终端执行:git remote -v如果显示的是SSH地址(比如
git@github.com:xxx/xxx.git),改成HTTPS格式:git remote set-url origin https://github.com/your-username/your-repo.git之后再用AS的UI执行push/pull,这时候会弹出凭证输入窗口,输入Token或密码试试。
降级Git插件到稳定版
Canary版本自带的Git插件可能是预览版,你可以打开Settings > Plugins,找到Git插件,看看有没有稳定版本可以切换安装(部分版本支持)。切换后重启AS,再测试集成功能。
为什么会出现“测试连接正常但UI操作失败”的情况?因为Settings里的测试是直接调用GitHub API验证账号有效性,而push/pull的UI操作是通过Git4idea插件间接调用Git命令,两者的认证流程不一样,预览版插件可能在凭证传递的中间环节出了问题。
内容的提问来源于stack exchange,提问作者Kelevandos

