Android Studio с сервисами Google Play
Я пытаюсь протестировать Google Play Services с новой 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. Как я могу решить проблему?
EDIT:
Я заметил, что компилятор компилирует два файла R.java: тот, который находится в моей папке проекта, и другой, который находится в папке% USERPROFILE%.AndroidStudioPreview
Поэтому я попытался исключить эту папку "Предварительный просмотр" в настройках компилятора, и теперь она работает.
Эта проблема возникает только после того, как я начал использовать классы Google Play Services в своем проекте.
Я буду признателен, если кто-нибудь сможет объяснить причину этой проблемы.
Ответы
Ответ 1
Все эти ответы неверны, поскольку выпуск gradle плагина v0.4.2. установка сервисов google play в андроид-студии выполняется прямо. Вам не нужно импортировать какую-либо банку или добавлять какую-либо библиотеку проекта, а также добавлять новый модуль в андроид-студию. Вам нужно добавить правильные зависимости в файл build.gradle. Ознакомьтесь с этими ссылками: Gradle обновление плагина v0.4.2, Новая система сборки и этот образец
Правильный способ сделать это следующим образом:
Прежде всего, вам нужно запустить диспетчер sdk и загрузить и установить следующие файлы, расположенные в разделе "Дополнительные услуги": репозиторий поддержки Android, сервисы Google Play, репозиторий Google.
Перезапустите студию android и откройте файл сборки gradle. Вы должны изменить файл build.gradle, чтобы он выглядел следующим образом:
dependencies {
compile 'com.google.android.gms:play-services:6.5.87'
}
И, наконец, синхронизируйте свой проект (кнопка слева от менеджера AVD).
Начиная с версии 6.5 вы можете включить полную библиотеку (очень большую) или только нужные вам модули (лучший вариант). Если вам нужны только Карты Google и Google Analytics, вы можете заменить предыдущий пример следующим образом:
dependencies {
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-maps:6.5.87'
}
Вы можете найти полный список зависимостей здесь
Некоторые примечания:
- Используйте последнюю версию библиотеки игровых сервисов. Если это старая версия, андроид-студия выделит ее. На сегодняшний день (5 февраля - 6.5.87), но вы можете проверить последнюю версию на Gradle Пожалуйста,
-
После крупного обновления Android Studio очистите перекомпонованный проект, следуя следующим инструкциям, предложенным в комментариях от пользователя @user123321
cd в папку проекта
. /gradlew clean
. /gradlew build
Ответ 2
- Перейти к файлу → Структура проекта
- Выберите "Настройки проекта"
- Выберите вкладку "Зависимости"
- Нажмите "+" и выберите "1.Library Dependencies"
- Поиск: com.google.android.gms: play-services
- Выберите последнюю версию и нажмите "ОК"
Voila! Нет необходимости бороться с Gradle:)
Ответ 3
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, ознакомьтесь с этим уроком.
fooobar.com/questions/13472/...
Если вы создаете новый проект с нуля, обратите внимание на комментарии Xav на том же сообщении. Он описывает, что Android Studio использует другой компилятор, и вам нужно вручную изменить файл build.gradle. Я сделал это с успехом. Я скопировал
- Google-плей-services.jar
- google-play-services.jar.properties
в мой каталог lib и добавил в файл build.gradle следующее:
dependencies {
compile files('libs/android-support-v4.jar')
compile files('libs/google-play-services.jar')
}
Кроме того, если это проект new, проверьте этот пост.
fooobar.com/questions/22328/...
Ответ 4
Большинство из этих ответов относятся только к зависимостям времени компиляции, но вы найдете множество исключений NoClassDef во время выполнения. Это потому, что вам нужно больше, чем google-play-services.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. При импорте он будет обнаруживать проект библиотеки и импортировать его как модуль. Я просто принял все значения по умолчанию во время процесса импорта проекта.
Ответ 5
Сервисы Google Play Интеграция в студии Android.
Шаг 1:
SDK manager->Tools Update this
1.Google play services
2.Android Support Repository
Шаг 2:
chance in build.gradle
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.google.android.gms:play-services:4.0.+'
}
Шаг 3:
android.manifest.xml
<uses-sdk
android:minSdkVersion="8" />
Шаг 4:
Sync project file with grandle.
wait for few minute.
Шаг 5:
File->Project Structure find error with red bulb images,click on go to add dependencies select your app module.
Save
Пожалуйста, добавьте комментарий, если вам нужна помощь.
Счастливое кодирование.
Ответ 6
Ни одно из вышеперечисленных решений не работало для меня. Не уверен, что это касается моей установки или новой версии.
Я использую Android Studio Beta 0.8.9, и я не получал никакой com.google.android.gms: play-service в списке библиотек, следуя этой инструкции:
Перейти в Файл → Структура проекта → Выбрать параметры проекта → Выбрать вкладку "Зависимости" Нажмите "+" → 1. Зависимости библиотек → Выберите com.google.android.gms: play-services: +
Я уже сделал это:
Прежде всего, вам нужно запустить менеджер sdk и загрузить и установить следующие файлы, находящиеся в разделе "Дополнительные услуги": репозиторий поддержки Android, сервисы Google Play, репозиторий Google.
Решено было добавить из SDK Manager "Службы Google для Froyo", а затем повторить первый шаг.
Не правильно понял причину, но это сработало.
PS: Я просто заметил, что даже сейчас, когда я ищу игровые сервисы, этого не происходит, но когда я непосредственно просматриваю список и просматриваю список, он находится прямо там.
Ответ 7
Следуйте этой статье → http://developer.android.com/google/play-services/setup.html
Вам следует выбрать "Использовать Android Studio"
![enter image description here]()
Пример Gradle file:
Примечание: Откройте файл build.gradle внутри вашего прикладного модуля каталог.
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "{applicationId}"
minSdkVersion 14
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services:6.1.+'
}
Вы можете найти последнюю версию Служб Google Play здесь: https://developer.android.com/google/play-services/index.html
Ответ 8
У меня это работает после выполнения следующих действий:
- Имейте google-play-services-lib в качестве модуля (обратите внимание на разницу между модулем и проектом), затем добавьте google-play-services.jar в каталог ваших моделей "libs".
- После этого добавьте банку в свой путь сборки, создав библиотеку или добавьте банку в другую библиотеку. У меня обычно есть одна библиотека IDEA, в которую я добавляю все мои файлы /libs/ *.jar.
- Добавьте библиотеку к пути сборки модулей через настройки модуля (F4).
- Добавьте google-play-services-lib в качестве зависимости от вашего проекта.
- Готово!
Примечание. Это также не дает мне исключений во время выполнения. Это работает.
Ответ 9
Откройте файл проекта build.gradle и добавьте ниже строку в модуль зависимостей.
dependencies {
compile 'com.google.android.gms:play-services:7.0.0'
}
Ниже будет добавлено Google Analytics и Карты, если вы не хотите интегрировать полную библиотеку
dependencies {
compile 'com.google.android.gms:play-services-analytics:7.0.0'
compile 'com.google.android.gms:play-services-maps:7.0.0'
}
Ответ 10
В моем случае google-play-services_lib интегрируются в качестве модуля (Внешние Libs) для карты Google и GCM в моем проекте.
Теперь для этого требуется реализовать API автозаполнения Google Адресов, но проблема в том, что код является новым, а мои библиотеки стары, поэтому некоторый класс не найден:
после этих шагов...
1 > Обновить сервис Google Play в диспетчере SDK
2 > выберите новый .jar файл службы google play (Sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs) замените на старый
У меня был успех...!!!
Ответ 11
Я скопировал файлы воспроизведения libs из google-play-services_lib в каталог моих проектов:
- google-play-services.jar
- google-play-services.jar.properties.
Затем выберите их, щелкните правой кнопкой мыши, "Добавить как библиотеки".