Secondly you cant reverse engineer iOS "API", its a language (Obj-C) and a API. The API consists of surely patented and copyrighted routines. Most of it is called Cocoa and personally I would say it sucks balls. Its a totally different metodology than what most other languages use.
iOS development is if anything even more cumbersome than android-development. I just dont see the point.
Also, there are initatives to crosscompile code (in LUA for instance) to both iOS and android.
Documentation, on the other hand, is entirely dependent on Google. And we all know how much engineers love writing documentation.
The Android OS is Linux. The Dalvik runtime runs a unique bytecode.
My x86 processor runs x86 (which in current processors is essentially an intermediate language). In the 80s someone might have looked at the codebase and said "the x86 runs on C", because of course virtually all development was done in C, but that is of course not the case.
Android could move to an entirely different source language (Java was chosen because of the strong support in Eclipse) -- say C# -- but the problem is not the language, but rather Sun cum Oracle's patents on several basic tenets of a secure virtual machine -- it isn't about Java but is "Java-like" behaviours.
Deleted comment
-jp wikispeedia.org "Back Seat Driver"