Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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 studio Gomobile工具链已过时,仅在Android Studio中_Android Studio_Go_Gomobile - Fatal编程技术网

Android studio Gomobile工具链已过时,仅在Android Studio中

Android studio Gomobile工具链已过时,仅在Android Studio中,android-studio,go,gomobile,Android Studio,Go,Gomobile,我正在使用最新的gomobile、Go和Android Studio版本 当我从终端运行gradle任务时,它们会按预期工作并生成正确的二进制文件,但是在Android Studio中我收到一个错误: bin/gomobile: toolchain out of date, run `gomobile init` 当然,我已经多次重新运行gomobile init,没有任何更改。我的假设是Android Studio正在使用一些我无法识别的配置 我理解这是一个有点边缘的问题,但如果有人能为我指

我正在使用最新的gomobile、Go和Android Studio版本

当我从终端运行gradle任务时,它们会按预期工作并生成正确的二进制文件,但是在Android Studio中我收到一个错误:

bin/gomobile: toolchain out of date, run `gomobile init`
当然,我已经多次重新运行gomobile init,没有任何更改。我的假设是Android Studio正在使用一些我无法识别的配置

我理解这是一个有点边缘的问题,但如果有人能为我指出正确的方向,这将是有益的


TLDR/gradlew myproj:bind在终端中工作正常,在Android Studio中失败。

这似乎是一条gomobile错误消息,见:

因此,在本地会话和Android Studio会话之间仔细检查
GOPATH
的值。

例如,查看这些评论是否仍然适用。

我已经找到了问题的根源,以防其他人有此问题

  • 至少对我来说,Gradle插件似乎没有考虑GO-bin的位置。相反,它使用查找戈宾

            gobin, err := exec.LookPath("go")
    

  • 我安装了许多Go版本(出于各种原因),因此我的gobin强制执行失败。为了发现这一点,我在
    env.go
    文件中添加了调试日志。一般来说,在尝试调试时,文件上的日志记录不是最清晰的。

    Plus Go 1.8可能已经修复,谢谢。GOPATH应该从org.golang.mobile.bind插件中提取,事实上,当我从我的个人资料中删除我的GOPATH时,终端功能仍然在提取时工作。我相信更改的重点是纠正错误的示例,而不是实际的功能。(即,该示例没有“=”)很好的捕捉,并且比我的答案更精确+1.
            gobin, err := exec.LookPath("go")