Actually, the reason they used their own byte code was because the 'official' one is poorly suited to mobile use. One of the major changes between Dalvik and the original Java run time is related to stacks vs heaps. There are others as well.
Google redesigned the run time to work better on mobile. JavaSE wasn't designed for that, JavaME isn't much better.
You shouldn't confuse the byte code/run time with the API's. Google stripped what they felt were unneeded API's and added ones they thought were missing. What Google did was to leverage the existing JavaSE developer knowledge base to create a straight forward path for people to develop for Android.
The alternative, and what Google may end up doing, is to replace Java with Go, Dart, or some other home grown language for primary Android development. While this would have been unthinkable when Android was first released, it's now gotten enough market share that developers are more willing to switch development languages to continue to develop Android applications. Even Apple's now doing it (see Swift).