执行gomobile bind生成aar文件时提示找不到gobind可执行文件
解决gomobile bind生成AAR时"gobind: executable file not found in $PATH"错误
这个问题本质是gomobile依赖的gobind工具未安装,或者它的所在目录没被加入系统PATH,导致gomobile找不到它。我给你一步步拆解解决方法:
第一步:安装gobind工具
gobind不是Go默认自带的工具,需要手动安装,在终端执行这条命令:go install golang.org/x/mobile/cmd/gobind@latest这条命令会把gobind编译后放到你的GOPATH/bin目录下(如果配置了GOBIN,则会放到GOBIN指定的路径)。
第二步:把gobind所在目录加入系统PATH
首先用这条命令找到你的GOPATH位置:go env GOPATH输出的路径比如是
~/go,那gobind就在~/go/bin里。接下来把这个路径加到PATH:- macOS/Linux:终端执行
export PATH=$PATH:$(go env GOPATH)/bin,如果要永久生效,把这句话加到~/.bashrc或~/.zshrc文件末尾,然后重启终端或者执行source ~/.zshrc(对应你的shell类型)。 - Windows:打开系统环境变量设置,找到PATH变量,添加
%GOPATH%\bin这个路径,然后重启命令提示符。
- macOS/Linux:终端执行
第三步:验证安装是否成功
执行gobind --version,如果能正常显示版本信息,说明gobind已经可以被系统找到。第四步:重新执行gomobile bind命令
现在再运行你原来的命令:gomobile bind -target=android golang.org/x/mobile/example/bind/hello应该就能顺利生成AAR文件了。
另外,你提到修改GobindPlugin.groovy的GobindExtension类指定路径,其实这不是最优解,但如果确实需要在Gradle插件里硬编码路径,可以这么写:
class GobindExtension { // 替换成你的gobind绝对路径 String executable = "/Users/yourname/go/bin/gobind" // 其他原有属性... }
不过还是优先推荐通过PATH配置,这样不管换环境还是升级工具都不用改代码。
内容的提问来源于stack exchange,提问作者Vierda Mila Nartila
相关产品推荐
相关产品推荐

