1) The way things are done in the docs is often wrong on fundamental levels. Using libraries from the android team for e.g. network comm is often wrong, even if it's "new and friendlier" (nope).
2) The docs are often outdated. Also their examples are always for exactly not the case you need. 100% of the time.
3) Stackoverflow posts are often outdated.
4) You will eventually hit a years-old bug that's been marked "obsolete" in Android's bug tracker. It isn't. There will be a billion workarounds for various Android flavors in the comments. There will be a patch for Android itself with pleas for them to apply and release it. They will not have. The Android team hates you.
5) Don't expect libraries for Google services to be better on their own damn operating system than they are for Javascript.
6) Just use all of Square's Android libraries and development practices. Retrofit, flow, and so on. [0]. In the best of all worlds Google would shutter the Android SDK/libraries team, acquihire Square, and hand it over to them.
[0] https://medium.com/square-corner-blog/simpler-android-apps-w... (sorry, medium post :-( )
[EDIT] 7) the interfaces for many of the more complex UI elements seem to have been made by the interns. Don't be surprised when you have to resort to reflection to style them.