Android Hello Viewsの例で定義されているMapViewの例を実装しようとしていますが、次のエラーが発生します。
Failed to find provider info for com.google.settings
なぜこれが起こっているのか考えていますか?
Android Hello Viewsの例で定義されているMapViewの例を実装しようとしていますが、次のエラーが発生します。
Failed to find provider info for com.google.settings
なぜこれが起こっているのか考えていますか?
MapView の例では、デフォルトでは API キーが設定されていません。したがって、設定する必要があります。手順は次のとおりです。
システムから MD5 を入手する
%JAVA_HOME%\bin\keytool.exe -list -alias androiddebugkey -keystore "%userprofile%\.android\debug.keystore" -storepass android -keypass android
生成された MD5 を次のページに貼り付けて API キーを取得します:
http://code.google.com/android/maps-api-signup.html
生成された API キーを{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"
/>
AndroidManifest.xmlapplication
で、タグに次のタグがあることを確認します。
<uses-library android:name="com.google.android.maps" />
また、次のタグをタグに追加しますmanifest
。
<uses-permission android:name="android.permission.INTERNET" />
プロジェクトを更新して実行する
ノート:
詳細はhttp://d.android.com/guide/tutorials/views/hello-mapview.htmlをご覧ください
権限があることを確認しINTERNET
、API キーを正しく生成して に入力してandroid:apiKey
も同じエラーが発生する場合は、もう 1 つ確認する必要があります。アプリケーションは、マップに使用したのと同じ証明書で署名されていますか? APIキー?
Android ビルド ツールは、デバッグ ビルドとリリース ビルドに異なる証明書を使用します。リリース証明書 (「Android アプリケーションのエクスポート」ウィザードで .apk を生成するために使用するもの) の MD5 チェックサムと API キーを生成した場合、デバッグ ビルドでは機能しません。逆の場合も同様です。
デバッグ キーストアの場所は、Eclipse の [Preferences] > [Android] > [Build] ページで確認できます。リリース証明書と同じ方法で、MD5 チェックサムと API キーを生成できます。デバッグ キーストアのデフォルトのパスワードは「android」です。
デバッグキーストアに関する公式ドキュメントは次のとおりです
確認するもう1つのこと:
私はちょうどこの問題を抱えていました(というより、私の問題は地図が表示されなかったということでした)。マップビューのチュートリアルをざっと読み、誤ってアプリケーションタグ内に「uses-permission」タグを貼り付けました。次のように、マニフェストタグのすぐ下にある必要があります。
<?xml version="1.0" encoding="utf-8"?>
<manifest [...]>
<uses-sdk [...] />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
[...]
</application>
</manifest>
非常に単純な間違いですが、見つけるのに時間がかかりました。うまくいけば、これは他の誰かを助けるでしょう!
この問題はエミュレーターでのみ発生しましたが、このエラーを回避する唯一の方法はエミュレーターを再起動することであることがわかりました。
Hello, MapView を確認してください。
アクセス許可のために AndroidManifest.xml 行に含まれていることを確認してください。
<uses-permission android:name="android.permission.INTERNET" />
また、Google Map API Keyは取得していますか?
それを MapView レイアウト定義に入れます。
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Your Maps API Key"
/>
エラーに関するその他の言及: GGroups - 1.5 へのアップグレード後に MapView が黒い画面として表示される