web-dev-qa-db-fra.com

Android Studio avec les services Google Play

J'essaie de tester les services Google Play avec le nouvel Android Studio . J'ai un projet qui dépend du fichier google_play_services.jar . Mais lorsque j'essaie de reconstruire le projet, les erreurs suivantes sont générées:

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

Il semble qu'il y ait deux fichiers BuildConfig et deux classes R. Comment puis-je résoudre le problème?

MODIFIER:

J'ai remarqué que le compilateur compile deux fichiers R.Java: celui qui se trouve dans mon dossier de projet et un autre qui se trouve dans le dossier% USERPROFILE% .AndroidStudioPreview J'ai donc essayé d'exclure ce dossier "Aperçu" dans les paramètres du compilateur et maintenant cela fonctionne . Ce problème se produit uniquement après que j'ai commencé à utiliser les classes de services Google Play dans mon projet . Je saurai apprécier si quelqu'un peut expliquer la raison de ce problème.

96
androidtester

Toutes ces réponses sont fausses, car la sortie du plugin Gradle v0.4.2, la configuration des services de Google Play sous Android Studio est simple. Vous n'avez pas besoin d'importer de fichier jar ou d'ajouter une bibliothèque de projet, ni d'ajouter un nouveau module sous Android Studio. Ce que vous devez faire est d’ajouter les dépendances correctes dans le fichier build.gradle. Veuillez consulter ces liens: mise à jour du plugin Gradle v0.4.2 } _, Nouveau système de compilation et cet exemple

La façon de procéder Correct est la suivante:

Tout d'abord, vous devez lancer le gestionnaire de fichiers, télécharger et installer les fichiers suivants situés sous "extras": référentiel de support Android, services de Google Play, référentiel Google.

Redémarrez Android Studio et ouvrez le fichier de génération. Vous devez modifier votre fichier build.gradle pour qu'il ressemble à ceci sous des dépendances:

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

Et enfin, synchronisez votre projet (le bouton à gauche du gestionnaire AVD). 

Depuis la version 6.5, vous pouvez inclure la bibliothèque complète (très grande) ou uniquement les modules dont vous avez besoin (Meilleure option). Si vous n’avez besoin que de Google Maps et Google Analytics, vous pouvez remplacer l’exemple précédent par le suivant: 

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

Vous pouvez trouver la liste complète des dépendances ici

Quelques notes de côté: 

  • Utilisez la dernière version de la bibliothèque de services de lecture. S'il s'agit d'une ancienne version, le studio Android la mettra en évidence. A partir d'aujourd'hui (le 5 février est le 6.5.87) mais vous pouvez consulter la dernière version à l'adresse Gradle Please
  • Après une mise à jour majeure d'Android Studio, nettoyez et reconstruisez votre projet en suivant les instructions suivantes, comme suggéré dans les commentaires de @ user123321.

    cd dans votre dossier de projet
    ./gradlew clean
    ./gradlew build

244
Imanol
  1. Allez dans Fichier -> Structure du projet 
  2. Sélectionnez 'Paramètres du projet' 
  3. Sélectionnez l'onglet 'Dépendances'
  4. Cliquez sur '+' et sélectionnez '1.Dépendances de la bibliothèque'
  5. Com.google.Android.gms: play-services
  6. Sélectionnez la dernière version et cliquez sur 'OK'

Voila! Pas besoin de se battre avec Gradle :)

113
Ivo Stoyanov

EDITED: Ce gars l'a vraiment ramené à la maison et a un bon petit tutorielhttp://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-Android-studio.html

note d'un côté: j'avais tellement joué que je devais créer un gradlew clean pour le faire fonctionner correctement

Si vous avez importé votre projet ou travaillez depuis l'application Sample Maps située dans\extras\google\google_play_services\samples\maps, consultez ce tutoriel.

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

Si vous créez un nouveau projet à partir de rien, notez les commentaires de Xav sur le même message. Il décrit qu'Android Studio utilise un compilateur différent et que vous devez modifier le fichier build.gradle manuellement. Je l'ai fait avec succès. J'ai copié 

  • google-play-services.jar
  • google-play-services.jar.properties

dans mon répertoire lib et ajouté ce qui suit à mon fichier build.gradle

dependencies {
    compile files('libs/Android-support-v4.jar')
    compile files('libs/google-play-services.jar')
}

De plus, s'il s'agit d'un projet new, consultez également ce post.

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

5
packerprogrammer

La plupart de ces réponses ne traitent que des dépendances à la compilation, mais vous trouverez un hôte d'exceptions NoClassDef au moment de l'exécution. C'est parce que vous avez besoin de plus que le google-play-services.jar. Il fait référence aux ressources faisant partie du projet de bibliothèque et celles-ci ne sont pas incluses correctement si vous ne possédez que le fichier jar.

Pour moi, ce qui a fonctionné le mieux, c’est d’abord de bien configurer le projet dans Eclipse. Ayez votre projet structuré de manière à inclure à la fois votre application et la bibliothèque, comme décrit ici: http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project -installer

Puis exportez votre projet d’application depuis Eclipse et importez-le dans Android Studio comme décrit ici: http://developer.Android.com/sdk/installing/migrate.html . Assurez-vous d'exporter à la fois votre projet d'application et le projet de bibliothèque de services Google Play. Lors de l'importation, il détectera le projet de bibliothèque et l'importera en tant que module. Je viens d'accepter tous les paramètres par défaut lors du processus d'importation du projet.

4
Brad Armstrong

Aucune des solutions ci-dessus n'a fonctionné pour moi. Pas sûr que ce soit spécifique à ma configuration ou à ma nouvelle version.

J'utilise Android Studio Beta 0.8.9 et je ne recevais aucun com.google.Android.gms: play-service dans la liste des bibliothèques en suivant cette instruction:

Cliquez sur Fichier -> Structure du projet -> Sélectionner les paramètres du projet -> Sélectionnez l'onglet "Dépendances". Cliquez sur '+' -> 1. Dépendances de la bibliothèque -> Sélectionnez com.google.Android.gms: play-services: +

J'avais déjà fait ceci:

Tout d’abord, vous devez lancer le gestionnaire de sdk, puis télécharger et installer les fichiers suivants situés sous «extras»: référentiel de support Android, services de Google Play, référentiel Google.

Ce qui résolut, c’était d’ajouter à partir de SDK Manager, «les services de Google Play pour Froyo», puis de répéter la première étape. 

Je n'ai pas compris la raison correctement mais cela a fonctionné.

PS: Je viens de constater que même maintenant, lorsque je recherche des services de jeu, cela ne vient pas, mais lorsque je fais directement défiler et feuillette la liste, il se trouve juste là.

2
Selfx Aadhyant

Intégration des services Google Play dans le studio Android.

Étape 1:  

SDK manager->Tools Update this

1.Google play services
2.Android Support Repository

Étape 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.+'
}

Étape 3:

 Android.manifest.xml
<uses-sdk
        Android:minSdkVersion="8" />

Étape 4:

Sync project file with grandle.
wait for few minute.

Étape 5:

File->Project Structure find error with red bulb images,click on go to add dependencies select your app module.
Save

S'il vous plaît mettez un commentaire si vous avez besoin d'aide .

2
Harshid

Suivez cet article -> http://developer.Android.com/google/play-services/setup.html

Vous devriez choisir d'utiliser Android Studio

enter image description here

Exemple de fichier Gradle:

Remarque: Ouvrez le fichier build.gradle dans votre module d’application annuaire.

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.+'
}

Vous trouverez la dernière version des services Google Play ici: https://developer.Android.com/google/play-services/index.html

2
d.danailov

J'ai ce travail après avoir fait ce qui suit:

  • Avoir google-play-services-lib en tant que module (noter la différence entre module et projet), puis ajoutez le google-play-services.jar à votre répertoire "libs" de modèles. 
  • Après cela, ajoutez le fichier jar à votre chemin de construction en créant une bibliothèque ou ajoutez le fichier jar à une autre bibliothèque. J'ai généralement une seule bibliothèque IDEA à laquelle j'ajoute tous mes fichiers /libs/*.jar. 
  • Ajoutez la bibliothèque au chemin de construction de vos modules via Paramètres du module (F4).
  • Ajoutez google-play-services-lib en tant que dépendance de module à votre projet.
  • Terminé!

Remarque: Cela ne me donne pas non plus les exceptions d'exécution, cela fonctionne.

1
Johan S

Ouvrez votre projet build.gradle fichier et ajoutez la ligne ci-dessous sous le module des dépendances.

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

Le texte ci-dessous sera ajouté Google Analytics et Maps si vous ne souhaitez pas intégrer la bibliothèque complète.

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

Dans mon casgoogle-play-services_libsont intégrés en tant que module (bibliothèques externes) pour Google map & GCM dans mon projet.

À présent, il faut du temps pour mettre en œuvrel'API de saisie semi-automatique Google Places, mais le problème est que ce code est nouveau et que mes bibliothèques sont anciennes, de sorte qu'une classe n'a pas été trouvée:

en suivant ces étapes ...

1> Mettre à jour le service Google Play dans le SDK Manager

2> sélectionnez le nouveau fichier .jar du service Google Play (Sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs) à remplacer par l'ancien

j'ai eu du succès ... !!!

0
Dhruv Raval