Android - Failed to find provider info for com.google.settings in MapView Example

sarmad picture sarmad · Jan 1, 2010 · Viewed 36.4k times · Source

I'm trying to implement the MapView example which is defined in Android Hello Views example but now I'm facing this error:

Failed to find provider info for com.google.settings

Any idea why this is happening?

Answer

Coc B. picture Coc B. · Jan 6, 2010

The MapView example doesn't set API key by default. So you must set it. Here is step by step:

  1. Get MD5 from your system

    %JAVA_HOME%\bin\keytool.exe -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android
    
  2. Get API key by pasting the generated MD5 to this page:
    http://code.google.com/android/maps-api-signup.html

  3. Paste the generated API key to {your_project_root}/res/layout/map.xml

    <com.google.android.maps.MapView
        android:id="@+id/myMapView"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="paste_generated_api_key_here"
    />
    
  4. In AndroidManifest.xml, make sure that you have the folowing tag into your application tag:

    <uses-library android:name="com.google.android.maps" />
    

    and also the folowing tag into your manifest tag:

    <uses-permission android:name="android.permission.INTERNET" />
    
  5. Refresh your project and run

Note:

  • The path of keytool.exe, debug.keystore and map.xml may differ on your system.
  • If you publish your app, be sure to register another API key.
  • If you don't set API key properly, your app will fail on phone and the error message probably is "... has stopped unexpectedly. Please try again. - Force close"

More detail at http://d.android.com/guide/tutorials/views/hello-mapview.html