Добавьте сервисы Google Play в Android Studio с помощью Gradle
Im работая над простым приложением карты, я добавил google-play-services.jar и его ссылку на gradle
dependencies {
compile files('libs/android-support-v4.jar', 'libs/google-play-services.jar')
}
Основная деятельность:
setContentView(R.layout.activity_mapui);
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
файл макета
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
Но приложение сработает на устройстве
E/AndroidRuntime: FATAL EXCEPTION: главная java.lang.NoClassDefFoundError: com.google.android.gms.R $styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Неизвестно Источник) в com.google.android.gms.maps.MapFragment.onInflate(Неизвестно Источник)
Я попробовал несколько способов, такую же проблему, просто хочу добавить сервисы google в Android Studio 0.3 с помощью Gradle 0.6 +
Ответы
Ответ 1
Как сказал @Matt, это правильно, я здесь также охвачен, чего я не нашел в ответе.
Чтобы добавить библиотеку Службы Google Play в проект приложения, выполните следующие действия: -
1) Откройте файл build.gradle
в каталоге вашего прикладного модуля. Смотрите скриншот
![Screenshot]()
2) Добавьте новое в свои зависимости, здесь вы обновляете номер версии при обновлении Службы Google Play.
dependencies {
...
compile 'com.google.android.gms:play-services:4.2.42'
compile files('src/main/libs/gson-2.2.4.jar')
}
3) Теперь, наконец, важно сохранить файл и нажать "Синхронизировать" с Gradle
"Файлы"
на панели инструментов.
Ответ 2
Добавьте эту строку в раздел dependencies
вашего файла build.gradle
:
compile 'com.google.android.gms:play-services:3.2.+'
Вам не нужно добавлять .jar
в папку libs
.
Edit
Как отметил Варун, вам также необходимо обновить SDK, чтобы он содержал самую последнюю версию игровых сервисов.
Вы можете сделать это, открыв Android SDK Manager (под вкладкой Window
) из Eclipse + ADT, установив флажок рядом с Google Play services
в папке Extras
и нажав кнопку "Установить".
Ответ 3
![enter image description here]()
![enter image description here]()
Проверяйте все инструменты, чтобы быть в безопасности
![enter image description here]()
Хит-тест API, с которым вы работаете
![enter image description here]()
Проверяйте все остальные, чтобы быть в безопасности
![enter image description here]()
Перейти к файлу → структура проекта
![enter image description here]()
![enter image description here]()
![enter image description here]()
Наконец, перейдите в build
в верхней части экрана и нажмите rebuild project
Ответ 4
Это не сработало для меня, мне пришлось загрузить репозиторий Goople в Android SDK Manager - Extras, чтобы исправить его.
Ответ 5
Старайтесь не включать в себя все сервисы Google Play, когда вы используете больше библиотеки, вы получаете исключение Multidex:
Количество ссылок на методы в файле .dex не может превышать 64k
Лучший способ использования:
compile 'com.google.android.gms:play-services-maps:9.8.0'
если вы хотите включить другие службы, см. здесь:
https://developers.google.com/android/guides/setup (прокрутите вниз)
Ответ 6
Перейдите в Android SDK Manager, перейдите в раздел Дополнительно, выберите Службы Google Play и Google Репозиторий, а затем нажмите кнопку "Установить пакеты...".
Нажмите "build.gradle" в окне кода в редакторе, затем нажмите кнопку "Попробовать еще раз"...
Дождитесь завершения сборки gradle.
Ответ 7
Перейдите в настройку → приложения на вашем телефоне для тестирования Android и найдите сервисы Google Play и нажмите на нее, там вы найдете номер версии, установленный на вашем устройстве.
For me it was 9.6.83
затем просто добавьте номер своей версии в следующую команду: -
compile 'com.google.android.gms: play-services: 9.6.83'
Позже вы можете получить сообщение об ошибке gradle, в которой говорится, что необходимо установить конкретный репозиторий, продолжить и загрузить его! Voila ваша следующая синхронизация gradle прошла успешно.