cmd/gomobile: concurrent gomobile-bind building for Android

This speeds up gomobile-bind for Android by concurrent building for
each architecture.

Before this change (on my MacBook Pro 2020):

$ time go run ./cmd/gomobile/ bind -target android ./example/bind/hello/

real    0m22.555s
user    0m14.859s
sys     0m10.232s

After this change:

$ time go run ./cmd/gomobile/ bind -target android ./example/bind/hello/

real    0m9.404s
user    0m15.846s
sys     0m11.044s

For #54770

Change-Id: I5a709dd4422a569e9244e924bd43ad2da1ede164
TryBot-Result: Gopher Robot <>
Reviewed-by: Bryan Mills <>
Reviewed-by: Dmitri Shuralyov <>
Reviewed-by: Changkun Ou <>
Reviewed-by: Dmitri Shuralyov <>
Run-TryBot: Hajime Hoshi <>
6 files changed
tree: 3ca8d427b3f19ea35268e189be1cbf4e4c7a052f
  1. app/
  2. asset/
  3. bind/
  4. cmd/
  5. doc/
  6. event/
  7. example/
  8. exp/
  9. geom/
  10. gl/
  11. internal/
  12. testdata/
  13. .gitattributes
  14. .gitignore
  15. codereview.cfg
  17. go.mod
  18. go.sum

Go support for Mobile devices

Go Reference

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