[mirror] Go on Mobile
Перейти к файлу
Dmitri Shuralyov eaba00bca5 gl: use better spec-defined func names, fix bug, increase consistency
Change func names and parameter order to more closely follow OpenGL
ES/WebGL spec.
    BufferData(target, usage, src) -> BufferData(target, src, usage)
    GenBuffer -> CreateBuffer
    GenFramebuffer -> CreateFramebuffer
    GenRenderbuffer -> CreateRenderbuffer
    GenTexture -> CreateTexture
Fix issue where glBoolean helper was returning inverted result.
Make Attrib.String() logic consistent with others (print value, not
struct).
Make internal code of GetUniformLocation the same as GetAttribLocation
and BindAttribLocation for consistency.
Resolves golang/go#10218.

Change-Id: Ib33dfff7c22c4d178b2e6b8d228f80f3c17308a8
Reviewed-on: https://go-review.googlesource.com/8000
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-03-25 21:38:11 +00:00
app app: set valid geom.Width/Height on darwin/arm 2015-03-17 19:43:15 +00:00
audio mobile/audio: use AL_TRUE and ALC_TRUE 2015-03-18 20:10:10 +00:00
bind bind/java/SeqTest: call Go.init from the test case constructor. 2015-03-05 00:04:29 +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 cmd/gobind: simplify filepath.Join uses. 2015-03-09 16:35:40 +00:00
event mobile: add import comments. 2014-12-10 01:59:04 +00:00
example gl: use better spec-defined func names, fix bug, increase consistency 2015-03-25 21:38:11 +00:00
f32 mobile: add import comments. 2014-12-10 01:59:04 +00:00
font mobile: add extra build tags. 2015-01-20 15:15:48 +00:00
geom mobile: add import comments. 2014-12-10 01:59:04 +00:00
gl gl: use better spec-defined func names, fix bug, increase consistency 2015-03-25 21:38:11 +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
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:42:31 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
Dockerfile mobile: add go 1.4 for bootstrap & pin the revision of Go. 2015-01-23 16:07:06 +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: add a link to the audio package 2015-03-13 16:13:12 +00:00
codereview.cfg mobile: add codereview.cfg 2015-03-18 17:03:44 +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 golang/mobile /bin/bash -c 'cd /src/your/project && ./make.bash'

Note the use of -v option to mount $GOPATH/src to /src of the container. The above command will fail if the -v option is missing or the specified volume is not accessible from the container.

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.