Я пытаюсь протестировать сервисы Google Play с новой Android Studio. У меня есть проект с зависимостью от google_play_services.jar. Но когда я пытаюсь перестроить проект, я получаю следующие ошибки:
Information:[TstGP3-TstGP3] Crunching PNG Files in source dir: C:\Users\ans\AndroidStudioProjects\TstGP3\TstGP3\src\main\res
Information:[TstGP3-TstGP3] To destination dir: C:\Users\ans\AndroidStudioProjects\TstGP3\build\classes\res-cache\TstGP3-TstGP3
Information:Compilation completed with 2 errors and 0 warnings in 2 sec
Information:2 errors
Information:0 warnings
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\Android_BuildConfig_Generator\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\BuildConfig.java
Error:Error:line (4)error: duplicate class: com.example.tstgp3.BuildConfig
C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\aapt\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\R.java
Error:Error:line (10)error: duplicate class: com.example.tstgp3.R
Кажется, что у него есть два файла BuildConfig, а также два класса R. Как я могу решить проблему?
РЕДАКТИРОВАТЬ:
Я заметил, что компилятор компилирует два файла R.java: тот, который находится в папке моего проекта, и другой, который находится в папке% USERPROFILE% .AndroidStudioPreview Итак, я попытался исключить эту папку «Предварительный просмотр» в настройках компилятора и теперь он работает. Эта проблема возникает только после того, как я начал использовать классы Google Play Services в своем проекте. Буду признателен, если кто-нибудь сможет объяснить причину этой проблемы.
источник
Ответы:
Все эти ответы неверны, поскольку с выпуском плагина gradle v0.4.2 настройка сервисов Google Play под Android Studio проста. Вам не нужно ни импортировать банку, ни добавлять какую-либо библиотеку проектов, ни добавлять новый модуль в студию Android. Что вам нужно сделать, так это добавить правильные зависимости в файл build.gradle. Пожалуйста, взгляните на эти ссылки: Gradle plugin v0.4.2 update , New Build System и этот образец
Правильный способ сделать это состоит в следующем:
Прежде всего вам нужно запустить диспетчер sdk, загрузить и установить следующие файлы, расположенные в разделе «Дополнительно»: репозиторий поддержки Android , сервисы Google Play , репозиторий Google .
Перезапустите студию Android и откройте файл Gradle сборки. Вы должны изменить свой файл build.gradle, чтобы он выглядел следующим образом в зависимостях:
И, наконец, синхронизируйте свой проект (кнопка слева от диспетчера AVD).
Начиная с версии 6.5 вы можете включать полную библиотеку (очень большую) или только те модули, которые вам нужны (лучший вариант). Т.е. если вам нужны только Google Maps и Analytics, вы можете заменить предыдущий пример следующим:
Вы можете найти полный список зависимостей здесь
Некоторые примечания на стороне:
После крупного обновления Android Studio очистите и перестройте свой проект, следуя следующим инструкциям, предложенным в комментариях @ user123321.
cd в папку вашего проекта
./gradlew clean
./gradlew build
источник
Вуаля! Не надо драться с Gradle :)
источник
EDITED: этот парень действительно принес его домой и имеет небольшой хороший учебник http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html
одно примечание: я так много играл, что мне нужно было сделать,
gradlew clean
чтобы он работал успешноЕсли вы импортировали свой проект или работаете из приложения Sample Maps, расположенного в \ extras \ google \ google_play_services \ samples \ maps, ознакомьтесь с этим руководством.
https://stackoverflow.com/a/16598478/2414698
Если вы создаете новый проект с нуля, обратите внимание на комментарии Xav к тому же посту. Он описывает, что Android Studio использует другой компилятор и что вам нужно вручную изменить файл build.gradle. Я сделал это успешно. Я скопировал
в мой каталог lib и добавил следующее в мой файл build.gradle
Кроме того, если это новый проект, ознакомьтесь с этим постом.
https://stackoverflow.com/a/16671865/2414698
источник
Большинство из этих ответов касаются только зависимостей времени компиляции, но вы найдете множество исключений NoClassDef во время выполнения. Это потому, что вам нужно больше, чем файл google-play-services.jar. Он ссылается на ресурсы, которые являются частью проекта библиотеки, и они не включены правильно, если у вас есть только jar.
Что лучше всего сработало для меня, так это сначала правильно настроить проект в eclipse. Структурируйте свой проект так, чтобы он включал и ваше приложение, и библиотеку, как описано здесь: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup
Затем экспортируйте проект своего приложения из eclipse и импортируйте в Android Studio, как описано здесь: http://developer.android.com/sdk/installing/migrate.html . Обязательно экспортируйте проект своего приложения и проект библиотеки сервисов Google Play. При импорте он обнаружит проект библиотеки и импортирует его как модуль. Я просто принял все настройки по умолчанию в процессе импорта проекта.
источник
Интеграция сервисов Google Play в студию Android.
Шаг 1:
Шаг 2:
Шаг 3:
Шаг 4:
Шаг 5:
Пожалуйста, оставьте комментарий, если вам нужна помощь. Удачного кодирования.
источник
Ни одно из приведенных выше решений не помогло мне. Не уверен, относится ли это к моей установке или новой версии.
Я использую Android Studio Beta 0.8.9, и я не получал com.google.android.gms: play-service в списке библиотек, следуя этой инструкции:
Я уже сделал это:
Решением было добавить из SDK Manager «Сервисы Google Play для Froyo», а затем повторить первый шаг.
Не понял причину, но это сработало.
PS: Я только что заметил, что даже сейчас, когда я ищу play-services, этого не происходит, но когда я непосредственно прокручиваю и просматриваю список, он прямо там.
источник
Следуйте этой статье -> http://developer.android.com/google/play-services/setup.html
Вы должны выбрать Использование Android Studio
Пример файла Gradle:
Вы можете найти последнюю версию сервисов Google Play здесь: https://developer.android.com/google/play-services/index.html
источник
У меня это работает после выполнения следующих действий:
Примечание: это тоже не дает мне исключений во время выполнения, это работает.
источник
Откройте файл build.gradle вашего проекта и добавьте строку ниже под модулем зависимостей.
Ниже будут добавлены Google Analytics и Карты, если вы не хотите интегрировать полную библиотеку.
источник
В моем случае google-play-services_lib интегрирован как модуль (внешние библиотеки) для карты Google и GCM в мой проект.
Теперь это время требует реализации API автозаполнения Google Places, но проблема в том, что код новый, а мои библиотеки старые, поэтому какой-то класс не найден:
следуя этим шагам ...
1> Обновите сервис Google Play в SDK Manager
2> выберите новый файл .jar службы Google Play ( Sdk / extras / google / google_play_services / libproject / google-play-services_lib / libs ) замените старым
добился успеха ... !!!
источник
Я скопировал файлы play libs из google-play-services_lib в каталог libs моего проекта:
Затем выделите их, щелкните правой кнопкой мыши «Добавить как библиотеки».
источник