Android MapView Загрузка - PullRequest
       4

Android MapView Загрузка

3 голосов
/ 03 октября 2011

Я делаю приложение для Android, в котором я использую карты. они отлично работают на устройстве при установке с pc.but, когда такая же сборка установлена ​​на устройстве через андроид маркет, карты не загружается. ниже вывод logcat.

10-03 15:54:51.784: WARN/System.err(12994): java.io.IOException: Server returned: 3
10-03 15:54:51.784: WARN/System.err(12994):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
10-03 15:54:51.784: WARN/System.err(12994):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
10-03 15:54:51.784: WARN/System.err(12994):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
10-03 15:54:51.784: WARN/System.err(12994):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
10-03 15:54:51.784: WARN/System.err(12994):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
10-03 15:54:51.784: WARN/System.err(12994):     at java.lang.Thread.run(Thread.java:1019)

в чем может быть проблема Может кто-нибудь, пожалуйста, помогите мне над этим ?? спасибо

1 Ответ

7 голосов
/ 03 ноября 2011

Нельзя использовать debug.keystore для создания ключа API Карт Google для приложений, поступающих в продажу.Если у вас уже есть приложение (или вообще какое-либо приложение) на рынке, тогда у вас уже есть хранилище ключей, которое вы должны использовать .Вот как вы используете это хранилище ключей для получения ключа API Карт Google:

Шаг 1: В командной строке перейдите в каталог с файлом хранилища ключей в нем:

cd <keystore-dir>

Шаг 2: Теперь перечислите содержимое вашего хранилища ключей:

keytool -list -keystore <your-keystore-file>

Шаг 3: Введите пароль для вашего хранилища ключей при появлении соответствующего запроса.Keytool теперь будет отображать список сертификатов и их MD5.

Шаг 4: Скопируйте MD5 для сертификата, который вы собираетесь использовать для подписи приложения в буфер копирования / вставки.

Шаг 5: Откройте браузер и перейдите к http://code.google.com/android/maps-api-signup.html - если вы не вошли в свою учетную запись Android Market , вам нужно будет сделать это дальше, прежде чем создавать свой ключ API.

Шаг 6: Вставьте MD5из буфера копирования / вставки в текстовое поле, помеченное «Отпечаток пальца MD5 моего сертификата:», и установите флажок «Я прочитал и согласился ...».

Шаг 7: Нажмите «Создать ключ API».Теперь вы увидите ключ API, который вам нужно использовать.

Шаг 8. Скопируйте и вставьте ключ API в свойство android:apiKey компонента MapView.

Если у вас несколько компонентов MapView, вы можете объявить строковый ресурс:

<string name="production_api_key">thisIsMyKeyValue</string>

Теперь вы можете использовать это в свойстве android:apiKey точно так же, как вы ссылаетесь на любое другое строковое значение:

android:apiKey="@string/production_api_key"

Теперь экспортируйте приложение в файл APK, используя сертификат, который вы использовалив шаге 4.

Если вы будете следовать этому пошаговому руководству, все будет в порядке - я только что сам начал использовать ключ API карт, сгенерированный таким образом.

На что следует обратить внимание:

  • Использование MD5 файла хранилища ключей (md5 <my-keystore-file>), а не сертификата.Это MD5 сертификата , который вам нужен.

  • Вход в Google при создании ключа API, но с неверной учетной записью.Ваш ключ API карт и ключ подписи Android Market должны принадлежать одной и той же учетной записи Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...