it-swarm.com.ru

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. Как я могу решить проблему?

Правка:

Я заметил, что компилятор компилирует два файла R.Java: тот, который находится в папке моего проекта, и другой, который находится в папке% USERPROFILE% .AndroidStudioPreview Поэтому я попытался исключить эту папку «Предварительный просмотр» в настройки компилятора и теперь он работает . Эта проблема возникает только после того, как я начал использовать классы Google Play Services в своем проекте .. Буду признателен, если кто-то сможет объяснить причину этой проблемы.

96
androidtester

Все эти ответы неверны, так как выпуск плагина gradle v0.4.2 установка сервисов google play под Android studio проста. Вам не нужно ни импортировать jar, ни добавлять какие-либо библиотеки проектов, ни добавлять новые модули в Android Studio. Что вам нужно сделать, это добавить правильные зависимости в файл build.gradle. Пожалуйста, посмотрите на эти ссылки: Обновление плагина Gradle v0.4.2 , Новая система сборки , и этот пример

Способ Correct состоит в следующем:

Прежде всего, вам нужно запустить менеджер sdk, скачать и установить следующие файлы, расположенные в разделе «Дополнительно»: хранилище поддержки Android, сервисы Google play, Google репозиторий.

Перезапустите Android Studio и откройте файл сборки Gradle. Вы должны изменить свой файл build.gradle, чтобы он выглядел так в зависимости:

dependencies {
    compile 'com.google.Android.gms:play-services:6.5.87' 
 }

И, наконец, синхронизировать ваш проект (кнопка слева от диспетчера AVD). 

Начиная с версии 6.5 вы можете включать полную библиотеку (очень большую) или только те модули, которые вам нужны (лучший вариант). Т.е. если вам нужны только Google Карты и аналитика, вы можете заменить предыдущий пример следующим: 

dependencies {  
    compile 'com.google.Android.gms:play-services-base:6.5.87'    
    compile 'com.google.Android.gms:play-services-maps:6.5.87'  
}

Вы можете найти полный список зависимостей здесь

Некоторые примечания: 

  • Используйте последнюю версию библиотеки сервисов воспроизведения. Если это старая версия, Android студия выделит ее. На сегодняшний день (5 февраля - 6.5.87), но вы можете проверить последнюю версию на Gradle Please
  • После серьезного обновления Android Studio выполните очистку и перестройте проект, следуя следующим инструкциям, предложенным в комментариях @ user123321.

    перейдите в папку вашего проекта
    ./gradlew clean
    ./gradlew build

244
Imanol
  1. Перейти в Файл -> Структура проекта 
  2. Выберите «Настройки проекта» 
  3. Выберите вкладку «Зависимости»
  4. Нажмите «+» и выберите «1.Зависимости библиотеки»
  5. Искать: com.google.Android.gms: play-services
  6. Выберите последнюю версию и нажмите «ОК»

Вуаля! Не нужно бороться с Gradle :)

113
Ivo Stoyanov

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 вручную. Я сделал это с успехом. Я скопировал 

  • 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, проверьте и этот пост.

https://stackoverflow.com/a/16671865/2414698

5
packerprogrammer

Большинство из этих ответов касаются только зависимостей времени компиляции, но вы найдете исключения Host of NoClassDef во время выполнения. Это потому, что вам нужно больше, чем google-play-services.jar. Он ссылается на ресурсы, которые являются частью проекта библиотеки, и они не включены правильно, если у вас есть только jar.

Для меня лучше всего было правильно настроить проект в Eclipse. Структурируйте ваш проект так, чтобы он включал в себя и ваше приложение, и библиотеку, как описано здесь: http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project -настроить

Затем экспортируйте проект приложения из Eclipse и импортируйте его в Android Studio, как описано здесь: http://developer.Android.com/sdk/install/migrate.html . Обязательно экспортируйте как проект приложения, так и проект библиотеки сервисов Google Play. При импорте он обнаружит проект библиотеки и импортирует его как модуль. Я только что принял все значения по умолчанию во время процесса импорта проекта.

4
Brad Armstrong

Ни одно из вышеуказанных решений не помогло мне. Не уверен, относится ли это к моей настройке или новой версии.

Я использую 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 Play для Froyo», затем повторить первый шаг. 

Не правильно понял причину, но это сработало.

PS: я только что заметил, что даже сейчас, когда я ищу play-сервисы, это не приходит, но когда я непосредственно прокручиваю и просматриваю список, он прямо там.

2
Selfx Aadhyant

Интеграция сервисов Google Play в Android studio.

Шаг 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

Пожалуйста, оставьте комментарий, если вам нужна помощь .... Счастливого кодирования.

2
Harshid

Следуйте этой статье -> http://developer.Android.com/google/play-services/setup.html

Вы должны выбрать Использование Android Studio

enter image description here

Пример файла Gradle:

Примечание: Откройте файл 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

2
d.danailov

У меня это работает после выполнения следующих действий:

  • Используйте google-play-services-lib в качестве модуля (обратите внимание на разницу между модулем и проектом), затем добавьте google-play-services.jar в каталог моделей libs. 
  • После этого добавьте jar в путь сборки через создание библиотеки или добавьте jar в другую библиотеку. Обычно у меня есть одна библиотека IDEA, в которую я добавляю все свои файлы /libs/*.jar. 
  • Добавьте библиотеку в путь сборки ваших модулей через Настройки модуля (F4).
  • Добавьте google-play-services-lib в качестве зависимости модуля к вашему проекту.
  • Готово!

Примечание: это не дает мне исключений во время выполнения, оно работает.

1
Johan S

Откройте ваш проект build.gradle file и добавьте строку ниже под модулем зависимостей.

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'
}
0
Pankaj

В моем случаеgoogle-play-services_libинтегрированы как модуль (External Libs) для Google map & GCM в моем проекте.

Теперь для этого времени требуется реализоватьAPI Google Places Autocomplete, но проблема в том, что код новый, а мои библиотеки старые, поэтому какой-то класс не найден:

следуя этим шагам ...

1> Обновить сервис Google Play в SDK Manager

2> выберите новый .jar-файл сервиса Google Play (Sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs) замените старым

я добился успеха ... !!!

0
Dhruv Raval