【问题标题】:GoMobile Build : Cannot find packageGoMobile 构建:找不到包
【发布时间】:2019-08-28 11:14:51
【问题描述】:

我在 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 gomobile


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多