BRouter is a configurable OSM offline router with elevation awareness, Java + Android. Designed to be multi-modal with a particular emphasis on bicycle routing.
For more infos see http://brouter.de/brouter
Compile with (Java 6!):
mvn clean install -Dandroid.sdk.path=