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.

Затем выберите их, щелкните правой кнопкой мыши, "Добавить как библиотеки".