2013-08-18 4 views
0

Как и многие люди, я собираюсь в кругах. У меня было приложение, отлично работающее с Google Maps API v2, а затем, возможно, через обновление Eclipse, карты перестали работать. У меня появляются серые плитки, но я получаю ошибку:google maps api v2 Ошибка аутентификации

08-18 11:03:56.678: E/GooglePlayServicesUtil(7750): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. 
08-18 11:03:56.923: D/dalvikvm(7750): GC_CONCURRENT freed 1233K, 15% free 13248K/15495K, paused 2ms+3ms 
08-18 11:03:56.968: D/OpenGLRenderer(7750): Flushing caches (mode 0) 
08-18 11:03:59.223: D/dalvikvm(7750): GC_CONCURRENT freed 1302K, 14% free 13375K/15495K, paused 4ms+3ms 
08-18 11:03:59.538: I/Google Maps Android API(7750): Failed to contact Google servers. Another attempt will be made when connectivity is established. 
08-18 11:04:14.688: E/Google Maps Android API(7750): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors). 

Я видел много сообщений, и я думал, что покрыл все. Мой манифест гласит:

<permission 
    android:name="com.xxx.xxx.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.xxx.xxx.permission.MAPS_RECEIVE"/> 
    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <!-- External storage for caching. --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <!-- My Location --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 


     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIzaSyD8YSb-xzI1CN9EZvfukLvCtioryzDpyg4"/> 
     <uses-library android:name="com.google.android.maps"/> 

Моя библиотека настройки выглядит следующим образом:

libraries

по следующему пути сборки:

build path

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

+0

Вы уверены, что ваше тестовое устройство имеет хорошее соединение с Интернетом? Плохое/отсутствие соединения - одна из причин, по которым вы можете получить сообщение «Не удалось связаться с серверами Google», если вы выполняете новую установку на своем тестовом устройстве. –

+0

Спасибо - имел полный Wi-Fi и доступ в Интернет. Я думаю, что проблема связана с тем, как я настраивал библиотеки из-за предупреждения о сервисах Google Play –

ответ

1

Я исправил его, и проблема заключалась в дублировании ключей для одного и того же приложения на консоли Google API. Я создал отладочный ключ и ключ к выпуску, но при тестировании я только перечислял ключ отладки в манифесте. Удалив листинг приложения из ключа release, карты начали работать. Как ни странно, раньше у меня не было этой проблемы с дублирующими ключами. Я также принял совет Google по перечислению обоих ключей в манифесте, и это не сработало. Кажется, что работает только один живой ключ в консоли API, и только одна ссылка в манифесте.

2

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

1) Название пакета вашего приложения изменилось. Вы изменили имя пакета? если вам нужно добавить/обновить его в своих «Разрешенных приложениях для Android» к ключу API на API Console

2) Изменен ключ подписи вашего приложения. Вы упомянули о обновленном затмении. Вы также не упоминаете, используете ли вы ключ отладки для подписания приложения, но возможно ли, что вы создали новый отладочный ключ для подписания? Вы можете проверить информацию об отладочном сертификате, следуя инструкциям в maps docs. Затем проверьте свой API Console, чтобы убедиться, что отпечаток вашего сертификата указан правильно.

+0

. Спасибо - приложение находится в разрешенном списке для ключа API. Я использовал ключ отладки, который для других пользователей можно просматривать через Eclipse Preferences, а также через список командной строки терминала. Так что я застрял! Как я сказал выше, я думаю, что это проблема настройки библиотеки. –