Android uses a mix of JIT/AOT, just as most Java embedded development.
As for not everything being supported, well that is no different from having C++ code with RTTI and exceptions disabled, or being forced into a specific linking model due to possible problems with a third party dependency.
Not that many places use Java/C# AOT compilation, except for games/iOS apps.
Almost every place I've seen using Java/C# was using JIT.