При обновлении моего проекта до последней версии Сервисов Google Play ( v4.0, выпущенной на Хэллоуин 2013 ) теперь вы должны добавить новый тег в AndroidManifest.xml
файл.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
К сожалению, когда я пытаюсь сделать это, я получаю эту ошибку компиляции:
android-apt-compiler: /blahblah/AndroidManifest.xml:409: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
Затем я могу перейти к файлу google-play-services_lib/res/values/version.xml
и просмотреть необработанное целое число для этого символа:
<integer name="google_play_services_version">4030500</integer>
А затем вставьте его обратно в мой AndroidManifest.xml
:
<meta-data
android:name="com.google.android.gms.version"
android:value="4030500" />
Это прекрасно работает, и я могу скомпилировать и запустить проект и приложение просто отлично. Но это определенно нежелательное исправление с очевидными проблемами с возможностью обновления.
Любые идеи?
android
google-play-services
Шарль Мадер
источник
источник
Ответы:
Для всех, кто использует Eclipse, это то, как вы должны это делать.
Тогда на вашем проекте
источник
.project
файл в указанныйgoogle-play-services_lib
каталог. Очевидно, что непосредственной причиной является то, что Eclipse не может записывать в каталог Program Files, где находится SDK, но более конкретный вопрос заключается в том, почему необходимо изменить.project
файл (который, очевидно, принадлежит SDK и поэтому должен быть «правильным») в первую очередь.Обратите внимание, что это исправление может применяться только к пользователям IntelliJ! (Более подробная информация в нижней части этого поста, которая должна относиться ко всем.)
Исправлена эта проблема! Я использую IntelliJ, и оказывается, что я просто неправильно настроил способ включения
google-play-services_lib
модуля в качестве зависимости.Поскольку я полностью исправил это с помощью графического интерфейса, а не исправил какие-либо файлы, вот несколько скриншотов:
Итак, моя структура проекта начала выглядеть так ...
Затем я удалил
google-play-services
библиотеку из списка зависимостей, выбрав ее, а затем щелкнув кнопку «минус» внизу. Обратите внимание на ошибку в нижней части диалогового окна, так как мой проект действительно требует эту библиотеку. Но не волнуйтесь, мы добавим его в ближайшее время!Далее я добавил
google-play-services_lib
как зависимость модуля вместо зависимости библиотеки. Затем я пару раз нажал кнопку со стрелкой вверх, чтобы переместить эту зависимость в верхнюю часть списка. Но обратите внимание на ошибку внизу (мы еще не закончили!)Затем я щелкнул лампочку в нижней части диалогового окна в области сообщений об ошибках, чтобы открыть это маленькое маленькое всплывающее окно, которое дает два варианта ( Добавить в зависимости ... или Удалить библиотеку ). Нажмите Добавить в зависимости ... вариант!
Новое маленькое диалоговое окно должно было появиться. Это дало мне два варианта: один для моего основного проекта (имя размыто), а затем другой для
google-play-services_lib
проекта. Ваш может иметь кучу больше в зависимости от вашего проекта (как вы можете видетьactionbarsherlock
, и тому подобное). Выберитеgoogle-play-services_lib
и нажмите ОК!И наконец, вы сделали! Я надеюсь, что это помогает кому-то еще там!
Дальнейшая информация
Я полагаю, что причина, по которой эта проблема возникла с самого начала, заключается в том, что я думал, что правильно включил весь
google-play-services_lib
проект в свой общий проект ... но на самом деле я этого не сделал, а вместо этого только правильно включил его файл jar (google-play-services_lib/libs/google-play-services.jar
). Этот jar-файл содержит только код, а не значения ресурсов Android, поэтому в моем проекте это@integer/google_play_services_version
значение никогда не было. Но код можно было использовать в моем проекте, и, таким образом, казалось, что все в порядке.И, как примечание, исправление этой проблемы также, похоже, исправило тот
GooglePlayServicesUtil.getErrorDialog(...).show()
сбой, который я имел раньше. Но это также могло бы быть исправлено обновлением, не совсем на 100% уверенным.источник
Я столкнулся с той же проблемой, и, видимо, Eclipse каким-то образом оставил
version.xml
файл в / res / values из исходногоgoogle-play-services_lib
проекта при создании копии. Я вытащил файл из оригинального проекта и вставил его в свою копию проекта, и проблема исправлена.источник
На Eclipse после импорта библиотеки Google Play в рабочую область проекта я просто скопировал файл version.xml из
в
источник
version.xml
файл при каждом обновлении.Для тех, кто использует gradle: не включайте исходный код проекта, а вместо этого загрузите его с помощью SDK Manager и добавьте эту строку в зависимости:
источник
compile 'com.google.android.gms:play-services:4.1.32@aar'
в свойbuild.gradle
.@integer/google_play_services_version
будет доступен.источник
Чувствуется, что ваш проект подключен к более старой версии проекта библиотеки Play Services. Google рекомендует вам найти библиотечный проект в SDK и сделать локальную копию. Это означает, однако, что каждый раз, когда вы обновляете проект библиотеки Play Services через SDK Manager, вам также необходимо заменить свою копию новой.
источник
Я также наткнулся на это, пытаясь использовать google_play_services_froyo.
Я подал эту ошибку: https://code.google.com/p/google-plus-platform/issues/detail?id=734
источник
после обновления до последней версии у меня возникла эта проблема со всеми моими проектами, но она была решена путем простого добавления ссылки на библиотеку:
если у вас нет библиотеки в вашем рабочем пространстве в Eclipse, вы можете добавить ее с помощью:
File
->Import
->Existing Android Code Into Workspace
-> найдите и перейдите кgoogle-play-services_lib
проекту lib, (android-sdk/extras/google/google_play_services/libproject
).затем удаляю
/bin
и/gen
папки моего проекта (что-то похожее на опцию clean) и снова строю мой проект.источник
Решено для Затмения
Выполните следующие шаги:
источник
google-play-services_lib
был вF:\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib
На сайте Google для разработчиков Android есть инструкции по «добавлению сервисов Google Play в ваш проект», и они также имеют отношение к обновлению версии сервисов Play. Есть даже выпадающее меню для просмотра инструкций для Eclipse, Android Studio или «Что-то еще». Это было бы лучшим местом для просмотра инструкций в случае их изменения. Страница находится здесь:
http://developer.android.com/google/play-services/setup.html
Но так как большинство ответов здесь для Eclipse, вот краткое резюме по обновлению Play Services с Android Studio
Вы можете найти номер версии для версии play-сервисов, которые вы скачали на своем компьютере разработчика, посмотрев в папку \ sdk \ extras \ google \ m2repository \ com \ google \ android \ gms \ play-services, как описано здесь : Как сопоставить версию Служб Google Play с установочной версией?
источник
Для Eclipse я просто добавил ссылку на проект в google-play-services_lib в:
Свойства-Android На панели «Библиотека» (нижняя панель) убедитесь, что указан список google-play-services_lib. Если нет, нажмите кнопку Добавить .. и выберите google-play-services_lib.
источник
У меня была та же проблема, файл version.xml не был в google-play-services_lib. Просто запустите свой менеджер SDK и примите обновление, особенно то, что связано с «дополнениями».
источник
При импорте google-play-services_lib проверьте код версии, определенный в AndroidManifest.xml и version.xml. Я нашел разницу в коде версии и изменил ее на 4242000 . После внесения изменений в @ integer / google_play_services_version больше не возникает ошибка компиляции .
источник
Исправлено добавлением сервисов Google Play в мой модуль: файл сборки приложения gradle. В документации также сказано обновить версию при обновлении GMS.
источник
Ниже приведены основные действия, которые позволят избежать множества ошибок при использовании сервиса Google play Lib:
источник
У меня была такая же проблема с проектом, использующим Maven и IntelliJ. Сервисы Google Play добавляются в зависимости от maven. Сборка maven работала нормально из командной строки, но IntelliJ пожаловался на этот отсутствующий символ
@integer/google_play_services_version
В моем случае я принудительно обновил файлы POM maven, и это решило проблему.
источник
В моем случае мне нужно было скопировать FOLDER google-play-services_lib в тот же диск с исходными кодами моих приложений
источник
Когда не используется IDE, но используется сборка командной строки (с использованием ant и ndk-build), вот как это решить:
Установите все необходимые части с помощью команды android. Затем получите копию google-play-service_lib / в корне вашего проекта. Отредактируйте project.properties, чтобы включить эту строку:
источник
android update project -p . -t android-22
наgoogle-play-services_lib
первом. Эквивалентно, добавь<property name="android.library.reference.1" value="./google-play-services_lib"/>
к твоемуbuild.xml
(я свернулbuild.xml
и угробил.properties
).Я была такая же проблема. Проблема заключалась в том, что "google-play-services.jar" не был должным образом импортирован в мой проект, хотя он был частью проекта google_play_service_lib. Если вы используете Eclipse, проверьте и посмотрите, видите ли вы файл jar служб воспроизведения в разделе «Частные библиотеки Android» и экспортируется ли он библиотекой.
Я использую инструменты платформы Android SDK версии 17 (не 19) и инструменты Android SDK версии 22.0.1
источник
Я только что обновил сервисы Google Play в папке Extras в Android SDK Manager
источник
Проблема для меня заключалась в том, что проект библиотеки и проект, использующий сервисы воспроизведения, находились в разных каталогах. Так просто:
источник
Google предлагает вам не создавать проект непосредственно из каталога SDK. Лучше скопировать проект lib в то место, где находится ваше приложение, а затем импортировать его оттуда. В противном случае при следующем импортировании проекта для другого приложения он уже будет использоваться.
https://developer.android.com/google/play-services/setup.html
источник
Любой, кто ищет в 2017 году, версию Play Services 10.0.1 требует импорта
play-services-basement
(используйте, чтобы быть вplay-services-base
).источник
Android Studio 3.3.2 под Windows 10
File -> Invalidate Caches / Restart и выберите
invalidate and Restart
кнопку в появившемся диалоговом окне.источник
У меня была такая же проблема, добавьте эти 2 строки в ваш build.gradle, проблема, вероятно, будет решена. ;)
источник