Je travaille sur une application de carte simple, j'ai ajouté google-play-services.jar et sa référence à gradle
dependencies {
compile files('libs/Android-support-v4.jar', 'libs/google-play-services.jar')
}
L'activité principale:
setContentView(R.layout.activity_mapui);
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
fichier de mise en page
<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"/>
Mais l'application se bloque sur l'appareil
E/AndroidRuntime EX EXCEPTION FATALE: main Java.lang.NoClassDefFoundError: com.google.Android.gms.R $ styleable à com.google.Android.gms.maps.GoogleMapOptions.createFromAttributes (Unknown Source) sur com.google.Android.gms.maps.MapFragment.onInflate (Unknown Source)
J'ai essayé plusieurs manières, le même problème, je veux juste ajouter des services Google à Android Studio 0.3 avec Gradle 0.6+
Comme @Matt l'a dit, c'est exact, je suis ici couvert également, ce que je n'ai pas trouvé dans la réponse.
Pour ajouter la bibliothèque du service Google Play à votre projet d’application, procédez comme suit: -
1) Ouvrez le fichier build.gradle
du répertoire de votre module d’application. Voir capture d'écran
2) Ajoutez-en une nouvelle dans vos dépendances, vous permettant de mettre à jour le numéro de version chaque fois que vous mettez à jour le service Google Play.
dependencies {
...
compile 'com.google.Android.gms:play-services:4.2.42'
compile files('src/main/libs/gson-2.2.4.jar')
}
3) Maintenant, enfin, sauvegardez votre fichier et cliquez sur Synchroniser avec Gradle
Files dans la barre d'outils.
Ajoutez cette ligne dans la section dependencies
de votre fichier build.gradle
:
compile 'com.google.Android.gms:play-services:3.2.+'
Vous n'avez pas besoin d'ajouter un .jar
à votre dossier libs
.
Modifier
Comme Varun l’a souligné, vous devez également mettre à jour le SDK afin de contenir la version la plus récente des services de lecture.
Pour ce faire, ouvrez le gestionnaire de SDK Android (sous l'onglet Window
) depuis Eclipse + ADT, cochez la case en regard de Google Play services
dans le dossier Extras
et cliquez sur installer.
Hit check sur tous les outils, pour être sûr
Hit check sur l'API avec laquelle vous travaillez
Hit check sur tous les extras pour être sûr
Aller au fichier -> structure du projet
Enfin, allez à build
en haut de l'écran et appuyez sur rebuild project
Cela ne fonctionnait pas pour moi, je devais télécharger le référentiel Goople dans Android SDK Manager - Extras pour le réparer.
Essayez d'éviter d'inclure des services entiers de Google Play. Lorsque vous utilisez plusieurs bibliothèques, vous obtenez une exception Multidex:
Le nombre de références de méthodes dans un fichier .dex ne peut pas dépasser 64 Ko
Alors meilleur moyen d'utiliser:
compile 'com.google.Android.gms:play-services-maps:9.8.0'
si vous souhaitez inclure d'autres services, veuillez vous référer ici:
https://developers.google.com/Android/guides/setup (défilement vers le bas)
Accédez à Android SDK Manager, accédez à Extras, sélectionnez Services Google Play et Référentiel Google, puis cliquez sur le bouton "Installer les packages ...".
Cliquez sur le fichier 'build.gradle', dans la fenêtre de code de l'éditeur, puis cliquez sur le bouton de lien 'essayez à nouveau' ...
Attendez la fin de la construction.
Ajoutez cette ligne au bloc de dépendances de votre application in
implémentation 'com.google.Android.gms: play-services-maps: 15.0.1'
Accédez au paramètre -> applications de votre téléphone de test Android, recherchez les services Google Play et cliquez dessus. Vous y trouverez le numéro de version installé sur votre appareil.
For me it was 9.6.83
puis ajoutez simplement votre numéro de version à cette commande ci-dessous: -
compiler 'com.google.Android.gms: play-services: 9.6.83'
Ajoutez ceci à vous build.gradle (app)
Gradation sync
Plus tard, vous obtiendrez peut-être une erreur indiquant que le référentiel en question doit être installé. Allez-y, téléchargez-le! Voila votre prochaine synchronisation de gradins est réussie.