It's possible. Go can produce ARM binaries, and the Android NDK permits one to write Android apps in C. It's conceivable that one could either wrap the NDK with something like [cgo](http://golang.org/cmd/cgo/), or write their own NDK-like thing to communicate with the rest of the Android system. It's a big job, though.
The problem with the NDK is not calling the NDK, it's more a problem with exporting native symbols in the binary's symbol table the JNI can call.
Even if you build a binding using cgo with a home-made C library which calls the Android APIs by JNI, will be a time in the code where the Java code or you library must say "hi, run your code, bitch!" to your go code, and I don't think that cgo enable that.