En primer lugar antes de poder usar los mapas en tu proyecto android, se debe agregar las librerías de google maps. Para ello puedes añadirlo desde el gradle (no importa si es marven o jcenter) En el archivo build.glade añadir las siguientes librerías:
compile 'com.google.android.gms:play-services-maps:8.4.0'
Para más información sobre la versión actual visita: https://developers.google.com/android/guides/setup
Debes ingresar a tu cuenta en https://console.developers.google.com. Luego selecciona la opción "usar APi de Google", esto te pedirá crear un proyecto (créala si aún no tienes un proyecto). Entra a tu poryecto y dale click a la opción "Google maps android Api", y luego habilita el API, te pedirá las credenciales del proyecto.
Ingresa a la seccion de credenciales https://console.developers.google.com/apis/credentials y escoge tu proyecto. Dale click a "Nuevas credenciales" y selecciona "Clave de android" ingresa el nombre que desees a la credencial y opcionalmente puedes añadir tu clave "SHA1" de tu PC, para ello ingresa esto en la consola (sistema operativo linux)
keytool -list -v -keystore mystore.keystore
Y copia el texto que sale después de SHA1 e ingresalo en "Huella digital de certificado SHA-1" (si haces esto el certificado sólo funcionará en tu aplicación ya que debes agregar el nombre del paquete android)
SHA1: 3E:2c.....BA:A0
Si te pide contraseña casi siempre es "android"
Finalmente dale click a "Crear" y verás tu credencial creada con el nombre ingresado y la clave de la credencial la cual usarás en la aplicación Android
AIzaSy....EG0XSDEsAIYqKY
En el android manifest agrega lo siguiente:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.maps">
<permission
android:name="com.example.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
...
<application>
...
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSy....EG0XSDEsAIYqKY" />
</application>
Finalmente agrega esto a tu layout:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Y listo tu aplicación ya tendrá google maps corriendo.