StackOverflow フォーラムは何年も読んでいますが、ここに投稿するのは初めてです。私が話している問題が以前に尋ねられたことは知っていますが、私が見てきたように、それに対する明確な答えはないようです.崖から飛び降りる前に、自分が何を間違っているかを理解しています。
「マップはデバッグ モードでは機能しない」という神話:本当ですか? デバッグ API キーを使用している間、マップが正しく読み込まれませんが、アプリがリリースされてマーケットにサインインすると、問題が解消されるということを何度も読みました... これは本当ですか? マップが正常に機能することを前提として、半分しか機能しないアプリをテストし、期待どおりに機能することを期待して市場にアップロードしてもよいですか? (「はい」と言って、ロードされないタイルの生き地獄から私を解放してください!)
アプリで行ったこと:
「keytool」コマンドを使用して、キーストアの証明書フィンガープリントを一覧表示しました。
$ keytool -list -alias androiddebugkey -keystore ./.android/debug.keystore -storepass android -keypass android
API プロジェクトを作成し、上記の手順の証明書フィンガープリントを使用して API キーを生成しました。
AndroidManifest.xml に API キーとアクセス許可を追加しました。
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> <permission android:name="com.mycompany.test1.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.mycompany.test1.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> (...) <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AItaSyDGE2yil3tCr9NP45QVDPfmRUP-gNv7uLY" />
アクティビティの XML レイアウトにマップを追加しました。
<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="AItaSyDGE2yil3tCr9NP45QVDPfmRUP-gNv7uLY" /> <!-- Though the Google page says to use the following code, Eclipse shows an error referring to the "xmlns" tag and it can't be compiled: --> <!-- <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.MapFragment"/> -->
Google API を使用して、Android 4.x を使用して、Android 2.3、4.0、および 4.2 を搭載した 3 つの実際のデバイスを使用して、プロジェクトの .apk をエクスポートし、USB カードから直接デバイスに APK をインストールして、エミュレータでコンパイルしようとしましたが、動作は常に同じです。マップを表示しようとすると、LogCat は次のエラーでいっぱいになります。
IOException processing: 26
java.io.IOException: Server returned: 3
at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
at java.lang.Thread.run(Thread.java:856)
誰が何が起こっているのか知っていますか?Google のガイドを何千回もたどり、API キーを再生成し、マニフェストを確認し、エミュレーターやデバイスなどでアプリをテストしましたが、何も変わりませんでした。この投稿で以前に述べたように、アプリを「テスト」するときにマップをテストすることはできないため、アプリが市場に公開されて動作することを確認するまで待つ必要があることを読みました. ..しかし、それは奇妙に聞こえます!何か案は?
あなたの時間と労力を前もって感謝します! :)