cmd/gomobile: change the working directory to $WORK/src/gobind when go-building

This is a preparation to enable Go modules for gomobile commands.

When Go modules is used, $GOPATH is not available. To build a
local package with Go modules, changing the working directory and
specifying the package by a relative path begining with `./` is
required. Changing the working directory is necessary because
building outside of modules is forbidden.

Specifying $GOPATH is still needed for reverse bindings (i.e.
special packages begining with `Java/` or `ObjC/`). Note that
gomobile with Go modules cannot support reverse bindings so far.

Updates golang/go#27234

Change-Id: Ib19300e1b8a973e76e06d24472c63a98605d65f7
Run-TryBot: Hajime Hoshi <>
TryBot-Result: Gobot Gobot <>
Reviewed-by: Hyang-Ah Hana Kim <>
4 files changed
tree: c069eea01de558b363eeae634f7d35fc77e9a024
  1. .gitattributes
  2. .gitignore
  9. app/
  10. asset/
  11. bind/
  12. cmd/
  13. codereview.cfg
  14. doc/
  15. event/
  16. example/
  17. exp/
  18. geom/
  19. gl/
  20. go.mod
  21. go.sum
  22. internal/
  23. testdata/

Go support for Mobile devices

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on to install the gomobile command, build the basic and the bind example apps.

Contributions to Go are appreciated. See