GoMobile Build:找不到包
GoMobile Build : Cannot find package
我在 Go[1.12.9 windows/amd64] 中测试 GoMobile 工具,并尝试将其附带的示例项目构建到 Android Apk 中。
在将构建指向 package 目录和 运行 构建命令时,控制台给出了 找不到包错误 。 Go包如何识别?
[注意- 我尝试安装和使用 GoMobile tools,但它们也没有被识别,我只能通过 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)
Go 获取关于 environment/system 中提供的 GOPATH 或 GOROOT 路径的路径引用 variables.It 查看 "src" 中的目录GOPATH/GOROOT 用于包。这意味着提供绝对包路径将不起作用。
- 例子(上面的例子)
GOPATH = D:\Script\Golang
GOROOT = C:\go
Absolute Package path = D:\Script\Golang\src\golang.org\x\mobile\example\basic
在这种情况下,提供绝对包路径将被读取为
GOPATH\D:\Script\Golang\src\golang.org\x\mobile\example\basic
or
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
我在 Go[1.12.9 windows/amd64] 中测试 GoMobile 工具,并尝试将其附带的示例项目构建到 Android Apk 中。
在将构建指向 package 目录和 运行 构建命令时,控制台给出了 找不到包错误 。 Go包如何识别?
[注意- 我尝试安装和使用 GoMobile tools,但它们也没有被识别,我只能通过 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)
Go 获取关于 environment/system 中提供的 GOPATH 或 GOROOT 路径的路径引用 variables.It 查看 "src" 中的目录GOPATH/GOROOT 用于包。这意味着提供绝对包路径将不起作用。
- 例子(上面的例子)
GOPATH = D:\Script\Golang
GOROOT = C:\go
Absolute Package path = D:\Script\Golang\src\golang.org\x\mobile\example\basic
在这种情况下,提供绝对包路径将被读取为
GOPATH\D:\Script\Golang\src\golang.org\x\mobile\example\basic
or 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