Is there such thing as an SDK or toolset that can produce Windows, Flash, and Android executables from the same source? Something like "write once, run in all three platforms?"
unity3d exports to android and will export to flash 11 swf. It can be made to to do 2d, but its not its primary function.
http://haxe.org/ is also a possibility.
If you drop your flash requirement there are lots more :)
Google just released an early version of PlayN that does just what you want (on the paper) : https://developers.google.com/playn/
It's too early to say if it's useful or what.
This is what Adobe AIR is for. Personally I wouldn't really recommend that approach though, because it's not really optimal for each platform (especially not for mobile). I would recommend use Flash to develop for desktop browsers, and then port to a mobile development tool like Corona SDK.
You could try the libgdx library, it supports building games that work on PC and Android, and there are some experiments to get it to work with html5 (using gwt) and to get it to run on iOS (using the avian jvm).
This library has support for buiding 2d and 3d games, you can search in the android market for some examples of games made with the library libgdx on the android market
Some nice examples of games made with libgdx are:
- jumping slime
- tap 'n' crash