If I could use Go on Android (with no major headaches) and a simple way to describe the interfaces, I would be very tempted to switch to being an Android programmer.
But I just can't bear to return to Java, I'm not sure I ever had job satisfaction working with Java.
Languages for writing client side apps have always sucked. They sucked in the 90's when targeting Windows (ok Delphi wasn't too bad), they sucked in the 2000's when targeting MacOS X and they suck now when targeting mobile. Of all the languages that mainstream operating systems have used, Java is by far the least worst. Especially because you can use any JVM-compatible language and are not really restricted to Java. For example Kotlin is looking like it's going to be pretty nice, pretty soon.
Go would be nowhere near a useful upgrade on the status quo.
I wonder, would Go be more suited for Android or Rust? Obviously Google would much prefer to use Go since they're developing it and could optimize it however they want for Android.
On the other hand, Rust seems higher performance and might be more suited for apps, but Google doesn't have much control over it. However they don't have control over Java either, and they could create a "fork" of Rust if needed, just like they did with Java/Dalvik.
I've become a Go convert and love coding in it, but for mobile devices with limited resources that are often used for gaming, Rust seems like it'd get more mileage because of its slightly more hands on approach to memory.
I program in Android/Java for my day job but use Go for my own stuff, and love Go and I'm pretty meh on Java. So I would love to see this (and to some degree work in this area is already happening in that you can technically run Go code on Android today and it will soon be suitable for things like OpenGL-based games).
When it comes to traditional apps, though I'm not sure how the existing Java APIs could be mapped to Go in a way that made any sense at all (I mean... technically you could do it via bridges to and from cgo<->ndk, but having it make sense in Go and be reasonably future maintainable seems like it would be a huge undertaking, even for Google). Seems more likely that something like Go+go-qml+Qt would be more practical, though I have yet to play around with the Android port of Qt enough to see if it is reasonably "native" feeling.
Scala runs on Android and is the most satisfying language I've ever worked in. (Admittedly you still have to call some pretty terrible APIs, but those are the platform APIs - that part would be the same in Go or anything else).
The problem with Java was never the language, but the 'enterprise' platforms, which suffocated it. Within Android, Java works much more as it was designed and is dare I say it, fun to use.
But I just can't bear to return to Java, I'm not sure I ever had job satisfaction working with Java.