Summary: Basic tests pass and basic engine functionality verified; not extensively tested.
Status: Core tests pass; basic engine functionality verified.
We've used unofficial Go tarballs from Dave Cheney.
The executable built with go build
is about 15MB. Doing
go build --ldflags '-s'
gives a 10MB executable.
Then doing
sudo apt-get install upx
go get github.com/pwaller/goupx/
goupx ./rulesys
gives a 2.8MB executable.
Status: Basic engine functionality verified.
We used the semi-official
github.com/golang/mobile
. In
particular, we used its
libhello
approach.
In order to avoid clumsy, tricky native calls, we just used TCP on the
loopback interface. Perhaps we can instead use
UNIX domain sockets, which
Android
appears to support,
to bypass the network stack. Or we would wrap a native Android API
around the Go API. That approach is also supported by
github.com/golang/mobile
.