私のグーグルマップアプリケーションを使用して、グーグルマップAPIキー
「0o8CRg5BhPmqQB1pvyYZQNfJ2ZbpDMa6XFunRwA」を取得します。これと同じキーを使用してアプリケーションにサインインしますが、問題はエミュレーターにマップが表示されますが、HTCワイルドファイアSデバイスに表示されません。
5 に答える
これは多くの場合に発生する可能性があり、これを解決する可能性のある以下のケースのリストを試すことができます
- インターネットアクセス用にWiFiGPSまたはデータ交換をオンにしてみてください
- ロケーションベースの設定を確認し、アプリのアクセスロケーションに関連するすべてのスイッチをオンにします。[設定]>[ロケーション]>[スイッチオン...]
- マニフェストのすべての権限を確認してください。Internet、Access_fine_location、Access_coarse_location
- マップ用に生成されたキーを確認してください。
- ネットワークがマップをフェッチするのに十分な速度を持っているかどうかを確認してください。
ほとんどの場合、使用しているAPIキーは、アプリケーションに署名しているAPIキーに関連付けられていません。
デバッグキーではなく、本番証明書に関連付けられている別のAPIキー(APKに署名するAPIキー)を使用する必要があります。
SDK Debug Certificateのガイドの代わりに、このガイドを使用してみてください
注意すべき点は、(デバッグする場合)アプリのインストールに使用しているマシンごとに個別のデバッグキーを生成する必要があるということです。アプリのリリースを計画しているのは、@Thomasの回答を参照してリリースキーを生成できるときだけです。
それまでの間、APIキーに関連する問題を見つけるには、Logcatの出力を確認してください。java.io.IOException: Server returned: 3
これは、使用したデバッグキーが、アプリをインストールしたマシンでは無効であることを意味します。
このリンクを使用
C:\ Program Files \ Java \ jdk1.6.0_20 \ bin> keytool -list -alias androiddebugkey -keystore "C:\ Documents and Settings \ Nazeer.android \ AndroidGoogleMaps.keystore" -storepass android -keypass android
releaseKey.jks(apkの署名に使用)に関連付けられたSHA-1証明書フィンガープリントをマップAPIキーに追加する必要があります。
- オープンターミナル
releaseKey.jksが/Users/macbook/Downloads/Files/releaseKey.jksにあり、releaseKey.jksのエイリアス名がdemilaramで、ターミナルを開いて次のように入力するとします。
keytool -list -v -keystore /Users/macbook/Downloads/Files/releaseKey.jks -alias demilaram
SHA1をコピーしてGoogleコンソールに移動し、APIキーを開いてから、指紋とパッケージ名を追加します。「SHA-1証明書フィンガープリント」という名前の列の下にSHA1を貼り付け、「パッケージ名」という名前の列の下にパッケージ名を入力します。
- 保存を押すと、しばらくすると(おそらく10分)、リリースモードapkがインストールされているデバイスでマップを表示できるようになります。