mobile

module
v0.0.0-...-6ecd944 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2026 License: BSD-3-Clause

README

mobile

A fork of golang.org/x/mobile (Go support for mobile devices), maintained at https://github.com/codewithtamim/mobile.

This module is a drop-in replacement for golang.org/x/mobile: import github.com/codewithtamim/mobile/... in your Go code and use the gomobile and gobind commands from this module.

Changes from upstream

  • Module renamed to github.com/codewithtamim/mobile (all imports, docs, and tooling updated).
  • Godoc → javadoc: when a Go package is bound to Android with gomobile bind -target=android, godoc comments on exported declarations are converted to javadoc in the generated Java classes (multi-line docs, paragraphs, and code blocks are preserved, HTML-escaped per line).
  • -javadoc.jar artifact: the javadoc tool runs over the generated sources and its output is packaged in a <name>-javadoc.jar next to the AAR, alongside <name>-sources.jar. Pass -javadoc=false to gomobile bind to skip it.
  • Test wrapper: test/javadoc-check.sh smoke-tests the godoc→javadoc conversion, the AAR/javadoc.jar artifacts, and the -javadoc=false flag.

Installing

$ go install github.com/codewithtamim/mobile/cmd/gomobile@latest
$ go install github.com/codewithtamim/mobile/cmd/gobind@latest
$ gomobile init

To use the tools in another module, record the gobind tool dependency:

$ go get -tool github.com/codewithtamim/mobile/cmd/gobind

See also:

The Go Mobile project is experimental. Use this at your own risk.

Directories

Path Synopsis
app
Package app lets you write portable all-Go apps for Android and iOS.
Package app lets you write portable all-Go apps for Android and iOS.
internal/apptest
Package apptest provides utilities for testing an app.
Package apptest provides utilities for testing an app.
internal/testapp command
Small test app used by app/app_test.go.
Small test app used by app/app_test.go.
Package asset provides access to application-bundled assets.
Package asset provides access to application-bundled assets.
Package bind implements a code generator for gobind.
Package bind implements a code generator for gobind.
java
Package java implements the Java language bindings.
Package java implements the Java language bindings.
objc
Package objc implements the Objective-C language bindings.
Package objc implements the Objective-C language bindings.
seq
Package seq implements the machine-dependent seq serialization format.
Package seq implements the machine-dependent seq serialization format.
cmd
gobind command
Gobind generates language bindings that make it possible to call Go functions from Java and Objective-C.
Gobind generates language bindings that make it possible to call Go functions from Java and Objective-C.
gomobile command
Gomobile is a tool for building and running mobile apps written in Go.
Gomobile is a tool for building and running mobile apps written in Go.
event
key
Package key defines an event for physical keyboard keys.
Package key defines an event for physical keyboard keys.
lifecycle
Package lifecycle defines an event for an app's lifecycle.
Package lifecycle defines an event for an app's lifecycle.
mouse
Package mouse defines an event for mouse input.
Package mouse defines an event for mouse input.
paint
Package paint defines an event for the app being ready to paint.
Package paint defines an event for the app being ready to paint.
size
Package size defines an event for the dimensions, physical resolution and orientation of the app's window.
Package size defines an event for the dimensions, physical resolution and orientation of the app's window.
touch
Package touch defines an event for touch input.
Package touch defines an event for touch input.
example
basic command
An app that draws a green triangle on a red background.
An app that draws a green triangle on a red background.
bind/hello
Package hello is a trivial package for gomobile bind example.
Package hello is a trivial package for gomobile bind example.
flappy command
Flappy Gopher is a simple one-button game that uses the mobile framework and the experimental sprite engine.
Flappy Gopher is a simple one-button game that uses the mobile framework and the experimental sprite engine.
network command
An app that paints green if golang.org is reachable when the app first starts, or red otherwise.
An app that paints green if golang.org is reachable when the app first starts, or red otherwise.
exp
app/debug
Package debug provides GL-based debugging tools for apps.
Package debug provides GL-based debugging tools for apps.
audio/al
Package al provides OpenAL Soft bindings for Go.
Package al provides OpenAL Soft bindings for Go.
f32
Package f32 implements some linear algebra and GL helpers for float32s.
Package f32 implements some linear algebra and GL helpers for float32s.
font
Package font provides platform independent access to system fonts.
Package font provides platform independent access to system fonts.
gl/glutil
Package glutil implements OpenGL utility functions.
Package glutil implements OpenGL utility functions.
sensor
Package sensor provides sensor events from various movement sensors.
Package sensor provides sensor events from various movement sensors.
sprite
Package sprite provides a 2D scene graph for rendering and animation.
Package sprite provides a 2D scene graph for rendering and animation.
sprite/clock
Package clock provides a clock and time functions for a sprite engine.
Package clock provides a clock and time functions for a sprite engine.
sprite/glsprite
Package glsprite implements a sprite Engine using OpenGL ES 2.
Package glsprite implements a sprite Engine using OpenGL ES 2.
sprite/portable
Package portable implements a sprite Engine using the image package.
Package portable implements a sprite Engine using the image package.
Package geom defines a two-dimensional coordinate system.
Package geom defines a two-dimensional coordinate system.
Package gl implements Go bindings for OpenGL ES 2.0 and ES 3.0.
Package gl implements Go bindings for OpenGL ES 2.0 and ES 3.0.
internal
binres
Package binres implements encoding and decoding of android binary resources.
Package binres implements encoding and decoding of android binary resources.
importers
The importers package uses go/ast to analyze Go packages or Go files and collect references to types whose package has a package prefix.
The importers package uses go/ast to analyze Go packages or Go files and collect references to types whose package has a package prefix.
importers/java
The java package takes the result of an AST traversal by the importers package and queries the java command for the type information for the referenced Java classes and interfaces.
The java package takes the result of an AST traversal by the importers package and queries the java command for the type information for the referenced Java classes and interfaces.
importers/objc
The objc package takes the result of an AST traversal by the importers package and uses the clang command to dump the type information for the referenced ObjC classes and protocols.
The objc package takes the result of an AST traversal by the importers package and uses the clang command to dump the type information for the referenced ObjC classes and protocols.
mobileinit
Package mobileinit contains common initialization logic for mobile platforms that is relevant to both all-Go apps and gobind-based apps.
Package mobileinit contains common initialization logic for mobile platforms that is relevant to both all-Go apps and gobind-based apps.
sdkpath
Package sdkpath provides functions for locating the Android SDK.
Package sdkpath provides functions for locating the Android SDK.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL