Где находится com.google.android.gms?

Сегодня я обновил компоненты Android SDK до последней версии, и каким-то образом весь пакет com.google.android.gms исчез. Вместо этого есть только com.google.android.maps с другими классами, чем в пакете gms. Это большое изменение со стороны Google или я сделал что-то не так? Я использовал классы GoogleMap и LatLng для работы с картами Google, и теперь у меня есть только ошибки в моем проекте.


person vandus    schedule 09.03.2013    source источник
comment
Какую версию SDK вы использовали раньше? (Если ты помнишь)   -  person crazylpfan    schedule 09.03.2013
comment
android:minSdkVersion=8 android:targetSdkVersion=17 И теперь я только что обновил новейшие версии: инструменты Android SDK rev.21, инструменты платформы Android rev.16.0.2, библиотека поддержки Android rev.12, GooglePlayServices rev.5 и некоторые другие версии для API 17,16 и т. д. Я просто все обновил. Также инструменты ADT должны были быть обновлены для работы с обновлениями SDK.   -  person vandus    schedule 09.03.2013
comment
Используете ли вы GoogleMap v1 в своем приложении?   -  person GrIsHu    schedule 09.03.2013
comment
Нет, я использую GoogleMap v2. У меня есть ключ API в AndroidManifest. Все работало хорошо до этого дурацкого обновления.   -  person vandus    schedule 09.03.2013
comment
Это когда-нибудь разрешилось? Я только что обновился, и я застрял.   -  person Sudhanshu    schedule 21.05.2013


Ответы (6)


Это большое изменение со стороны Google или я сделал что-то не так?

com.google.android.gms происходит из SDK Play Services, который вы прикрепляете к проекту своего приложения в качестве проекта библиотеки Android. Пожалуйста, проверьте свою среду, чтобы убедиться, что у вас есть действующая копия проекта библиотеки Play Services и что ваш проект приложения по-прежнему указывает на нее.

person CommonsWare    schedule 09.03.2013
comment
есть идеи, почему это имя пакета содержит gms вместо gps? Это из эпохи до Google Play? - person ddewaele; 20.05.2013
comment
@ddewaele Play Store раньше был известен как Android Market, так что, я думаю, отсюда и взялась буква «м». Его изменение нарушило бы импорт и, вероятно, вызвало бы ненужную путаницу с GPS. - person Ravi K Thapliyal; 19.10.2015
comment
@ddewaele, на самом деле gms происходит от Google Mobile Services (см. android.com/gms) для получения дополнительной информации. - person Tash Pemhiwa; 31.10.2016

Во-первых, если вы не запускали какие-либо обновления с помощью Android SDK Manager, убедитесь, что проект google-play-services-lib открыт в eclipse. Если это не решит вашу проблему, продолжайте. Примечание. eclipse (v22.0.1-685705) закроет проект google-play-services-lib с помощью команды «закрыть несвязанные проекты». Проект google-play-services-lib должен быть открыт.

Я разобрался с этой проблемой. Первоначально вы/я установили сервисы Google Play в eclipse непосредственно из пути SDK (путь SDK отображается в верхнем левом углу Android SDK Manager). Когда вы обновили сервисы Google Play с помощью Android SDK Manager, он удалил файл .project, и теперь eclipse не может найти проект «google-play-services-lib», и ваш проект разработки не скомпилируется. :-(

Решение:

Основным идеалом этого решения является очистка старого проекта «google-play-services-lib» в eclipse, который сейчас не существует, и установка нового проекта, скопированного из пути SDK.

Удалить старый проект:

В eclipse удалите любой проект google-play-services-lib. (В Eclipse см.: Свойства проекта -> Android -> Библиотека.)

В In Eclipse см.: Свойства проекта -> Android -> Библиотека, удалите старую запись для проекта «google-play-services-lib». На нем, скорее всего, будет красный крестик.

Установите новый:

Следуйте инструкциям Google, чтобы установить проект «google-play-services-lib». В этих инструкциях указано копировать проект из папки установки SDK; а затем, как настроить проекты.

http://developer.android.com/google/play-services/setup.html

Примечания:

Ваше имя для «google-play-services-lib» может быть другим.

Важно помнить, что сервисы Google Play — это не JAR-файл. Это проект в затмении. Ваш проект разработки ссылается на проект google-play-services-lib.

Скопировав папку проекта из пути SDK в другое место, вы предотвратите удаление Android SDK Manager вашего файла eclipse .project и возникновение этой проблемы. Недостаток в том, что если вы хотите обновить сервисы Google Play, вам нужно не забыть повторить все шаги.

person fishjd    schedule 10.01.2014
comment
@fishid Спасибо за полный ответ с довольно подробным обсуждением темы. - person Kingsolmn; 21.02.2014

Вам понадобится Google Play Services SDK. Вы можете установить его из Android SDK Manager, если вы используете sdk для eclipse.
После установки сервисов Google Play вы можете импортировать проект библиотеки в свою рабочую область из папки ..\sdk\extras\google\google_play_services. Очистить и построить его.
Теперь вы можете перейти к свойствам проблемного проекта и выбрать проект библиотеки в разделе Android.
Это должно работать!

person Mitech    schedule 21.09.2013

В настоящее время библиотека находится в Google Repository. Чтобы включить его, убедитесь, что вы загрузили его с помощью Android SDK Manager (в самый низ списка).

person robotoaster    schedule 12.12.2013

Для проекта android create project [...] ant CLI

Аналогично: Как правильно включить библиотека поддержки в Android-приложении, отличном от Eclipse

Лучшее, что я смог найти, это https://stackoverflow.com/a/30689979/895245:

  1. скопируйте и вставьте каталог android-sdk/extras/google/google_play_services/libproject/google-play-services_lib в каталог проекта
  2. cd в него и запустить android update project -p . -t android-22
  3. добавьте <property name="android.library.reference.1" value="./google-play-services_lib"/> к вашему build.xml.

Вы можете установить дополнительные компоненты с помощью инструмента android GUI или с помощью этого метода командной строки: Загрузка библиотеки поддержки Android из командной строки

Если вы просто скопируете и вставите .jar в <sdk>/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar в каталоге libs/ проекта, он скомпилируется, но сломается во время выполнения из-за обязательного res/values/version.xml, который не включен в .jar.

person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 14.02.2016

Если вы используете Android Studio, вы можете добавить сервисы Google Play для использования Google Android Maps v2, добавив зависимость к файлу build.gradle.

dependencies {
    compile 'com.google.android.gms:play-services:3.1.36'
}
person user2664843    schedule 13.09.2013