title: Google maps v2: Authorization failure
body: <p>Authorization failure.  Please see <a href="https://developers.google.com/maps/documentation/android/start" rel="noreferrer">https://developers.google.com/maps/documentation/android/start</a> for how to correctly set up the map.</p>
  
  <p>Ensure that the following correspond to what is in the API Console: Package Name: <code>com.company.app</code>, API Key: <code>AIzaSyC***OsTeo</code>, Certificate Fingerprint: <code>4E5285***6BF53ED3</code>
  Failed to contact Google servers. Another attempt will be made when connectivity is established.</p>
  
  <p>Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).</p>
  
  <hr>
  
  <p>I know there are more then enough questions about this subject.
  But I just can't seem to get the maps view to work. The result is an empty maps view (with zoom buttons).</p>
  
  <p>What I've done:<br>
  - Downloaded / installed google-play-services<br>
  - Added <code>google-play-services.jar</code> to <code>libs/</code><br>
  - Enabled <code>Google Maps API v2</code> in code.google.com/apis/console<br>
  - Set up the correct permissions</p>
  
  <p>This is how my manifest looks like:</p>
  
  <pre><code>&lt;uses-feature
      android:glEsVersion="0x00020000"
      android:required="true" /&gt;
  
  &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
  
  &lt;permission
      android:name="com.company.app.permission.MAPS_RECEIVE"
      android:protectionLevel="signature" /&gt;
  
  &lt;uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" /&gt;
  
  &lt;application ...&gt;
      &lt;meta-data
          android:name="com.google.android.maps.v2.API_KEY"
          android:value="AIzaSyC***OsTeo" /&gt;
  &lt;/application&gt;
  </code></pre>
  
  <p>Google APIs console api access looks like this:</p>
  
  <pre><code>Key for Android apps (with certificates)
  API key:        AIzaSyC***OsTeo
  Android apps:   4E:52:85:***6B:F5:3E:D3;com.company.app
  Activated on:   Jun 18, 2013 11:07 PM
  Activated by:   my@email.com – you
  </code></pre>
  
  <p>And some code (which I can't see why this would result in an authorization error):</p>
  
  <pre><code>FragmentManager fragmentManager = super.getSupportFragmentManager();
  FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
  SupportMapFragment fragment = new SupportMapFragment();
  fragmentTransaction.replace(R.id.mapContainer, fragment);
  fragmentTransaction.commit();
  </code></pre>
  
  <p>As you can see I get an error saying the package name, api key and certificate fingerprint do not correspond with the google servers. But like I'm writing above, those values do match...</p>