Как сделать / Ошибка при объявлении google-play-services-component

Я использую eclipse / Java ADT bundle и пытаюсь заставить работать API Google Maps.

Ссылка в документации, чтобы получить и запустить Google Maps это "настройка Google Play SDK " > "Ссылка на проект библиотеки для затмения "

http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

В самом низу этой страницы после настройки свойств проекта написано, что мне нужнообъявить компоненты библиотеки в файле манифеста

Например:


  ...
  
    ...
    
    ...
  

так что в моем манифесте Android, я попытался в том числе это:

   
   

Однако в библиотеке .jar сервисов Google Play есть тире, включенные в ее имя, и в затмении эти тире отображаются как ошибки (я вижу красные волнистые линии).

Также я'я пытаюсь включить это в пример проекта Google Maps, который поставляется с Google Play SDK скачать (в разделе ""дополнительные услуги»), так что я'Я не уверен на 100%, должен ли я сделать этот шаг.

Как я могу это исправить?

Ответы на вопрос(2)

Решение Вопроса

https://docs.google.com/document/pub?id=19nQzvKP-CVLd7_VrpwnHfl-AE9fjbJySowONZZtNHzw

Вот'Краткое руководство по Google Maps API V2. Я использовал это в своем проекте в офисе.

Невозможно создать экземпляр android.gms.maps.MapFragment

Если у вас есть проблемы с библиотекой сервисов MapFragment или google play, используйте этот поток stackoverflow для устранения неполадок.

Если у вас возникли проблемы с получением отпечатка пальца SHA1 здесь »с шагами.

Откройте командную строку или терминал DOS, если вы используете Linux.

cd (изменить каталог) на каталог Java \ jdk1.7.0 \ bin вашего JDK 7. В моем случае это C: \ Program Files \ Java \ jdk1.7.0 \ bin. Чтобы сделать это намного проще, добавьте этот каталог в системный путь.

Выполните keytool вашего java и используйте ваше хранилище ключей отладки или официальное хранилище ключей. (см. изображение в качестве примера).

Как правило, синтаксис: keytool.exe -list -alias androiddebugkey -keystore "[каталог вашего хранилища ключей] " -storepass android -ключить android

скопируйте и вставьте отпечаток SHA1, сохраните его и используйте для создания ключа API карты Google на консоли API. Это должен быть доступ по API, тогда Google Maps API V2.

Там вы добавляете название пакета вашего приложения в свой отпечаток SHA1. Что-то вроде этого.

55:87:D6:B4:60:35:AD:CA:C8:86:84:7D:62:D2:5B:3D:18:34:EB:16;com.my.package

Наконец, у вас должен быть свой драгоценный ключ API карты и перейдите по ссылкам для быстрого поиска и устранения неисправностей, которые я разместил.

Еще одна вещь, JDK7 по умолчанию выдает SHA1, если вы выполните команду выше. Если вы используете JDK6, он производит отпечаток MD5. Я думаю, вам нужно добавить -v в конце команды, чтобы JDK6 выдал вам SHA1. В моем случае здесь у меня есть JDK7, поэтому, когда я добавлю - v, он покажет вам разные отпечатки пальцев.

Веселись: D

 LazerSharks21 февр. 2013 г., 01:14
Да, сейчас яУ меня больше всего проблем с получением этого ключа API с помощью SHA1 .... все документы по этому вопросу меня очень смущают. Кроме того, один из докторов сказал, что я смогу проводить тестирование без ключа в затмении, если у меня есть пакет ADT и я настроил переменные / пути среды, однако это так и есть ».Просто не работает.
 LazerSharks23 февр. 2013 г., 08:48
О, тот, который генерируется из команд на скриншоте, это отпечаток MDA5. Первая ссылка, которую вы предоставили, помогает мне понять, что мне просто нужно добавить -v в конце команд, чтобы получить SHA1. Я'Я собираюсь отредактировать ваш ответ, чтобы отразить это .... но ДА !!! Я наконец получил ключ SHA1. Я могу наконец попытаться продолжить с гидами теперь.
 Ariel Magbanua21 февр. 2013 г., 23:59
Вам действительно понадобится ключ API карты, который вы поместите в свой файл манифеста. Ваше приложение будет работать, я думаю, без или с неправильным ключом API карты, но изображение карты выигралот появляются. Кстати, я обновил свой пост с шагами о том, как получить отпечаток SHA1 и сгенерировать ключ API вашей карты. Наслаждайтесь! :)
 LazerSharks23 февр. 2013 г., 08:21
Большое спасибо за ваш полезный ответ !!! Но что мне делать после перехода на "Java \ jdk1.7.0 \ Bin» (1.6.0_38 для меня)? Должен ли я напечатать код на картинке? Или я просто использую это как ссылку? Потому что я нахожу странным, что мы туда перешли, но на скриншоте вы выполняете команды изC: \ Users \ thehardcoded», Я пытался выполнить из "Java \ jdk1.6.0_38 \ Bin» и я на самом деле получил выход SHA1, но когда я вставил его в консоль API, я получил ошибку "неправильный ввод", Это то, что я пытался ввести "57: С5: A9: 28: 22: A7: Д7: 98: 8А: 24: 9D: 8A: 54: 42: 38: A7; com.example.mapdemo»
 LazerSharks21 февр. 2013 г., 01:04
да, на самом деле в моем журнале я вижу много проблем с MapFragment, я думаю. Спасибо япосмотрю!
 Ariel Magbanua23 февр. 2013 г., 11:50
@Gnuey Нет это 'не MD5, на скриншоте очень ясно, что это SHA1, и я проверил это на своей консоли API. По умолчанию без JDK7 дает вам отпечаток SHA1, я думаю, что если вы используете JDK 6, он по умолчанию производит отпечаток MD5, который может быть способом получения отпечатка SHA1 в JDK 6. Также, чтобы упростить вашу жизнь с этим, рекомендуется добавить путь вашего JDK к системному пути, чтобы вы могли напрямую выполнить keytool.exe. Во всяком случае, хорошая работа по его созданию, я обновил пост и добавил, что вы сделали в образовательных целях.
 Ariel Magbanua21 февр. 2013 г., 01:09
developers.google.com/maps/documentation/android для подробных документов по этому вопросу здесьтвой лучший друг. Вам понадобится ключ API для этого. Вы можете получить его, сняв отпечаток пальца SHA1 с помощью вашей отладки или официального хранилища ключей. Затем используйте его для создания API-ключа для вашей карты Google в консоли Google API.

что мне нужнообъявить компоненты библиотеки в файле манифеста

Для Карт V2 нет таких компонентов, о которых вам нужно беспокоиться. Это будет только в том случае, если в библиотечном проекте были опубликованы действия, службы или другие компоненты, которые вы пытались использовать без их подкласса.

Как я могу это исправить?

Просто удали эти два линий.

 CommonsWare21 февр. 2013 г., 00:55
@Gnuey: используйте LogCat для проверки трассировки стека Java, связанной с нашим сбоем. Вам понадобится ключ API Карт для примеров.
 LazerSharks21 февр. 2013 г., 00:53
Я сделал ссылку, но мое приложение зависает при загрузке страницы с простыми картами. Знаете ли вы потенциальные проблемы, объясняющие, почему это происходит? Мне не нужно приобретать отпечаток SHA1 для тестирования в демоверсиях, верно? Я также настроил переменные окружения JAVA_HOME и включил keytool и jarsigner в свой PATH.
 LazerSharks21 февр. 2013 г., 00:40
Хм ... но мне все еще нужно иметь библиотеку карт Google, на которую есть ссылки, или нет?
 CommonsWare21 февр. 2013 г., 00:43
@Gnuey: Да, вам потребуется ссылка на проект библиотеки Play Services из проекта приложения. Вам просто не нужно добавлять какие-либо элементы. Для чего этоИтак, вот мой собственный пример использования Maps V2:github.com/commonsguy/cw-omnibus/tree/master/MapsV2/BasicI»

Ваш ответ на вопрос