[mirror] Go on Mobile https://golang.org/x/mobile
Go to file
Hyang-Ah Hana Kim 8f449fffd2 bind/java/testpkg: use go generate to run gobind on testpkg.
Change-Id: I2426f3607120b7ce2da60bcb45d834b539d7dbb9
Reviewed-on: https://go-review.googlesource.com/2342
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-01-07 17:28:35 +00:00
app app: Remove 'from' duplication on Run doc 2014-12-21 21:03:24 +00:00
bind bind/java/testpkg: use go generate to run gobind on testpkg. 2015-01-07 17:28:35 +00:00
build build/androidtest.bash: script to run all tests in a repository on an 2014-12-18 00:48:16 +00:00
cmd/gobind cmd/gobind: take -output option for output file. 2015-01-07 16:33:56 +00:00
event mobile: add import comments. 2014-12-10 01:59:04 +00:00
example example/sprite: make example lives 2014-12-22 13:10:48 +00:00
f32 mobile: add import comments. 2014-12-10 01:59:04 +00:00
geom mobile: add import comments. 2014-12-10 01:59:04 +00:00
gl gl: use Uniform type for consistency 2014-12-15 17:53:49 +00:00
sprite sprite/glsprite: add very basic package docs 2014-12-12 14:44:04 +00:00
testdata example/sprite: make example lives 2014-12-22 13:10:48 +00:00
.gitattributes mobile: copying .gitattributes to all subrepositories 2014-12-23 23:23:25 +00:00
.gitignore convert .hgignore to .gitignore. 2014-12-08 10:43:03 +11:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
Dockerfile mobile: cache debug.keystore to avoid adb install certificate errors 2015-01-03 21:35:02 +00:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README.md mobile: modify instructions to pull the Docker image from the hub 2014-12-30 04:05:25 +00:00

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 the build system is a bumpy ride. Building a binary for Android requires using a Go cross compiler and an external linker from the NDK.

For now, the easiest way to setup a build environment is using the provided Dockerfile:

docker pull golang/mobile

Get the sample applications.

go get -d golang.org/x/mobile/example/...

In your app directory under your $GOPATH, copy the following files from either the golang.org/x/mobile/example/basic or golang.org/x/mobile/example/libhello apps:

AndroidManifest.xml
all.bash
build.xml
jni/Android.mk
make.bash

Start with basic if you are writing an all-Go application (that is, an OpenGL game) or libhello if you are building a .so file for use from Java via gobind. Edit the files to change the name of your app.

To build, run:

docker run -v $GOPATH/src:/src mobile /bin/bash -c 'cd /src/your/project && ./make.bash'

When working with an all-Go application, this will produce a binary at $GOPATH/src/your/project/bin/name-debug.apk. You can use the adb tool to install and run this app. See all.bash for an 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.