There's an open source Library available out there named OSMDroid
which replaces Google MapView classes. It also includes a modular tile provider system with support for numerous online and offline
tile sources and overlay support with built-in overlays for plotting icons, tracking location, and drawing shapes.
You can follow this link.
OR
You can follow Mapsforge
which provides free and open software for OpenStreetMap-based applications,offers a library for ad-hoc map rendering on Android devices
Go through this link for mapsforge usage