2

ここここの手順に従って、MapViewsvnと同期するチームプロジェクトを作成しました。手順に従った後、MapViewスムーズに実行されていましたが、私のラップトップでのみでした。私のプロジェクトメンバーは常に

02-06 13:27:37.327: E/Google Maps Android API(19490): Authorization failure.

を開くときMapView。そこで、古いものを削除し、次のGoogleアカウントを使用して別のラップトップで新しいGoogleAPIキーの新しいSHA1フィンガープリントを生成しました。

keytool -list -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android -v

これで、SHA1フィンガープリントを生成した他のラップトップで動作していますが、ラップトップでプロジェクトを実行しようとすると、

02-06 13:29:51.280: E/Google Maps Android API(20262): Authorization failure.

エラー。

使用していません。ライブラリとしてインストールおよび含まれているproguard-project.txtさまざまなデバイスを試しました。また、複数のAPIキーを生成しようとしましたが、機能していたのは1つだけでした。google-play-services/extras/google/google_play_services/libproject/google-play-services_lib

何が間違っているのですか?個別のキーを作成するために異なるGoogleアカウントを使用する必要がありますか?

4

2 に答える 2

3

Google API コンソールの引用:

API リクエストは、クライアントの Android デバイスから Google に直接送信されます。Google は、各リクエストが、以下にリストされている証明書の SHA1 フィンガープリントとパッケージ名のいずれかに一致する Android アプリケーションから発信されていることを確認します。次のコマンドを使用して、開発者証明書の SHA1 フィンガープリントを検出できます[...]

1 行に 1 つの SHA1 証明書フィンガープリントとパッケージ名 (セミコロンで区切られたもの)。

ここで1 行に 1 つずつ強調表示します。

Google Maps API キーのスクリーンショット - Android キーの構成`

アプリを構築するラップトップごとに、SHA1 フィンガープリントを生成し、API コンソールに追加する必要があります。

于 2013-02-06T13:19:40.057 に答える
2

ここには 2 つのオプションがあります。

  1. 所有している各デバイスの API キーに個別の行を追加します。

  2. API キーをファイル (例: map_key.xml) に抽出し、このファイルをAndroidManifest.xml.

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_api_key_v2" />
    

    このファイルを .gitignore に追加します。これで、各プロジェクト メンバーが独自のキーで上書きできるようになります。

于 2013-02-06T18:03:34.347 に答える