web-dev-qa-db-fra.com

Importer la bibliothèque de services Google Play dans Android Studio

J'ai un projet Android qui a été entièrement développé dans Android Studio (version 4.2, version 1.9-all)). Je souhaite ajouter des fonctionnalités de Google. Services de jeu.

Le projet est incapable de résoudre GooglePlayServicesUtil, et lorsque j'entre l'importation manuellement (voir ci-dessous), j'obtiens Cannot resolve symbol 'common'.

import com.google.Android.gms.common.GooglePlayServicesUtil;

Avez-vous une idée de ce que je dois faire pour résoudre GooglePlayServicesUtil?

Ce que j'ai essayé

Depuis le Configuration des services Google Play , il semble que je doive simplement ajouter le com.google.Android.gms:play-services:4.+ dépendance à mon build.gradle fichier (et resynchronisez les fichiers de projet avec gradle) pour rendre le SDK disponible pour mon projet. Je reçois un "paquet éclaté" dans ProjectName/module/build/exploded-bundles, mais cela ne semble pas être le cas.

J'ai les services Google Play, Android Le référentiel de support et le référentiel Google sont déjà installés à partir du gestionnaire de SDK. Je les ai également supprimés et réinstallés plusieurs fois :)

Modifier:

Pourrais-je avoir besoin d'ajouter manuellement google_play_services en tant que projet/bibliothèque globale? J'ai essayé sans succès.

J'essaie de vérifier que je me développe par rapport à l'API de la plate-forme avec Google Services (si cela est même possible), mais je ne suis pas sûr que ce soit le cas. Rien que je change ne semble faire quelque chose.

Les bibliothèques externes de mon projet montrent:

  • <Android API 19 Platform>
  • <1.7>
  • joda-time-2.3
  • support-v4-13.0.0

Code source

Ceci est mon fichier ProjectName/module/build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.7.+'
    }
}

apply plugin: 'Android'

repositories {
    mavenCentral()
}

Android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'
    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
        }
    }
    signingConfigs {
    }
    productFlavors {
    }
}

dependencies {
    compile 'com.google.Android.gms:play-services:4.+'
    compile 'joda-time:joda-time:2.3@jar'
}

Le com.google.Android.gms.version nombre résout bien dans mon manifeste. Voici mon fichier ProjectName/module/src/main/AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.Android" >

    <uses-sdk Android:minSdkVersion="17" Android:targetSdkVersion="19"/>

    <application
        Android:allowBackup="true"
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <activity
            Android:name="com.example.Android.MainActivity"
            Android:label="@string/app_name" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity Android:name=".SecondActivity"/>

        <meta-data Android:name="com.google.Android.gms.version"
            Android:value="@integer/google_play_services_version" />

        <provider
            Android:name=".DataProvider"
            Android:authorities="com.example.Android.provider" >
        </provider>

        <receiver Android:name=".WidgetProvider" >
            <intent-filter>
                <action Android:name="Android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data Android:name="Android.appwidget.provider"
                   Android:resource="@xml/widget_info" />
        </receiver>

        <service Android:name=".DatabaseService" />
        <service Android:name=".WidgetProvider$UpdateService" />
    </application>

</manifest>

Voici mon MainActivity, où j'essaie de vérifier si GooglePlayServices est disponible:

package com.example.Android;

import Android.app.Activity;
import Android.os.Bundle;
import Android.util.Log;

import com.google.Android.gms.common.GooglePlayServicesUtil;

public class MainActivity extends Activity {
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void onResume() {
        Log.i(TAG, "onResume");
        GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
    }
}
51
losttime

Essayez ceci une fois et assurez-vous que vous n'obtenez aucune erreur dans la structure du projet en indiquant que "ComGoogleAndroidGmsPlay n'a pas été ajouté".

Ouvert File > Project Structure et vérifiez ci-dessous. Si une erreur est affichée, cliquez sur l'ampoule rouge marquée et cliquez sur "Ajouter à la dépendance".

GMS dependency

Ceci est un bogue de Android Studio et corrigé pour la prochaine version (0.4.3)

34
pyus13

J'avais un problème similaire Impossible de résoudre com.google.Android.gms.common.

J'ai suivi le guide d'installation http://developer.Android.com/google/play-services/setup.html et ça marche!

Résumé:

  1. Services Google Play installés et mis à jour et référentiel Google à partir de SDK Manager
  2. Dépendance ajoutée dans build.gradle: compile 'com.google.Android.gms:play-services:4.0.30'
  3. Mise à jour AndroidManifest.xml avec <meta-data Android:name="com.google.Android.gms.version" Android:value="@integer/google_play_services_version" />
20
Prakash

J'ai résolu le problème en installant le package de services Google Play dans le gestionnaire de SDK.

Après cela, créez une nouvelle application & dans le build.gradle ajoutez ceci

compile 'com.google.Android.gms:play-services:4.3.+'

Comme ça

dependencies {
    compile 'com.Android.support:appcompat-v7:+'
    compile 'com.google.Android.gms:play-services:4.3.+'
}
7
Cristiana Chavez

Après des heures d’avoir le même problème, notez que si votre jar est dans le dossier libs, cela posera un problème une fois que vous l'avez défini dans les "Dépendances".

les dépendances

//compile fileTree(dir: 'libs', include: ['*.jar'])  <-------- commented one 
compile 'com.google.Android.gms:play-services:8.1.0'
compile 'com.Android.support:appcompat-v7:22.2.1'

et le problème a été résolu.

4
Angel Balderas

Je viens d’essayer votre build.gradle Et l’importation de GMS a bien fonctionné, ce n’est donc pas le problème.

C'était avec Google Play services (rev 13) et Google Repository (rev 4). Découvrez ceux qui sont installés une fois de plus :)

3
quinnjn

J'ai le même problème. J'ai juste essayé de reconstruire, nettoyer et redémarrer mais pas de chance. Puis je retire juste

compile 'com.google.Android.gms:play-services:8.3.0'

depuis build.gradle et resync. Après cela, je le répète et le resynchronise. A côté de cela, je nettoie le projet et le problème est parti !!

J'espère que cela aidera chacun d'entre vous à faire face à la même chose.

1
Asad