So where is problem? Why android doesn't support ad-hoc? Well its dead simple: technically its programs WPA_supplicant which "picks up waves" fault it doesn't support ad-hoc. This will be google's official answer after shit will hit fan, but we all know real reason... Its to suck more cash from you to cell phone providers in case you was impatient one and did not went through all the pain of rooting, replacing wpa_supplicant and whatever else.
There is no way that google didn't notice this issue or couldn't fix it, they just don't want to."
Link to Original Source