0

我在 Go[1.12.9 windows/amd64] 中测试 GoMobile 工具,并尝试将其附带的示例项目构建到 Android Apk 中。
在将构建指向目录并运行构建命令时,控制台给出了一个找不到包错误。如何识别 Go 包?
[注意-我尝试安装和使用GoMobile 工具,但它们也无法识别,我只能通过 VSCode 将它们作为 Git 包下载]

PS D:\Script\Golang\bin> go version
go version go1.12.9 windows/amd64  
PS D:\Script\Golang\src\golang.org\x\mobile\example\basic> gci


    Directory: D:\Script\Golang\src\golang.org\x\mobile\example\basic


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       18-08-2019     11:27           4618 main.go
-a----       18-08-2019     11:27            225 main_x.go


PS D:\Script\Golang\src\golang.org\x\mobile\example\basic> cd D:\Script\Golang\bin
PS D:\Script\Golang\bin> .\gomobile.exe build D:\Script\Golang\src\golang.org\x\mobile\example\basic
D:\Script\Golang\bin\gomobile.exe: cannot find package "D:\\Script\\Golang\\src\\golang.org\\x\\mobile\\example\\basic" in any of:
        c:\go\src\D:\Script\Golang\src\golang.org\x\mobile\example\basic (from $GOROOT)
        D:\Script\Golang\src\D:\Script\Golang\src\golang.org\x\mobile\example\basic (from $GOPATH)
S D:\Script\Golang\bin> .\gomobile.exe build "D:\Script\Golang\src\golang.org\x\mobile\example\basic"
D:\Script\Golang\bin\gomobile.exe: cannot find package "D:\\Script\\Golang\\src\\golang.org\\x\\mobile\\example\\basic" in any of:
        c:\go\src\D:\Script\Golang\src\golang.org\x\mobile\example\basic (from $GOROOT)
        D:\Script\Golang\src\D:\Script\Golang\src\golang.org\x\mobile\example\basic (from $GOPATH) 
4

1 回答 1

0

Go 对环境/系统变量中提供的 GOPATH 或 GOROOT 路径进行路径引用。它会在 GOPATH/GOROOT 中的“src”目录中查找包。这意味着提供绝对包路径将不起作用。

- 示例(上述情况)

GOPATH = D:\Script\Golang
GOROOT = C:\go
绝对包路径 = D:\Script\Golang\src\golang.org\x\mobile\example\basic

在这种情况下,提供绝对包路径将被读作

GOPATH\D:\Script\Golang\src\golang.org\x\mobile\example\basic
GOROOT\D:\Script\Golang\src\golang.org\x\mobile\example\basic

由于 golang 使用 GOPATH 或 GOROOT 作为参考,所以包路径应该是

GOPATH\golang.org\x\mobile\example\basic

Golang 将自动使用环境变量中的引用 GOPATH 并将其后的路径附加到它后面。
所以在上述情况下,提供的包路径将是 -

PS D:\Script\Golang\bin> .\gomobile.exe build golang.org\x\mobile\example\basic

于 2019-08-28T16:14:39.910 回答