app, bind: separate the app package from gobind

Historically, the app package implemented Go runtime initialization.
This was convoluted, so the package was used both by all-Go apps
(currently based on Android's NativeActivity) and bind-based apps.

With Go 1.5 we have -buildmode=c-shared, which does a lot of the work
of the old app package. That code was removed a while back, but both
all-Go and gobind-based apps still used package app. The intermingled
initialization processes led to some strange states.

This CL separates gobind-based apps completely from the app package.
As part of that users are now expected to use System.loadLibrary
themselves. (A future CL may want to make the loadLibrary call part
of the .aar generated by gomobile bind.)

Delete the libhello example, which has been replaced by gomobile bind,
which could do with its own example at some point. Also delete the
libhellojni example, which now has nothing to do with the x/mobile
repository.

Change-Id: I444397f246dbafe81e5c53532eb482c197d26f70
Reviewed-on: https://go-review.googlesource.com/11654
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
26 files changed
tree: e8da06d7da1da843902663d1c02afc595afab382
  1. app/
  2. bind/
  3. cmd/
  4. event/
  5. example/
  6. exp/
  7. f32/
  8. geom/
  9. gl/
  10. testdata/
  11. .gitattributes
  12. .gitignore
  13. AUTHORS
  14. codereview.cfg
  15. CONTRIBUTING.md
  16. CONTRIBUTORS
  17. Dockerfile
  18. LICENSE
  19. PATENTS
  20. README.md
README.md

Go support for Mobile devices

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

This is early work and installing the build system requires Go 1.5. Follow the build instructions on godoc.org/golang.org/x/mobile/cmd/gomobile to install the gomobile command and build the basic example.


APIs are currently very limited, but under active development. Package documentation serves as a starting point:


Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.