Because of processes like the SurfaceFlinger, Android benefits from multi-core processors without a specific app actually being multi-threaded by design.
Also because there are lots of things always happening in the background, like sync and widgets, then Android as a whole benefits from using a multi-core processor.
As you would expect Android has the ability to create multi-threaded apps.
For more information on this see the Processes and Threads section in the Android documentation.
There is also some multi-threaded examples from Google, and Qualcomm have an interesting article on programming Android apps for multi-core processors.