Импорт библиотеки сервисов Google Play в Android Studio

У меня есть проект Android, который был полностью разработан в Android Studio (в настоящее время версия 4.2, версия Grade 1.9-all). Я хочу добавить функциональность из Google Play Services.

Проект не может решить GooglePlayServicesUtilи когда я ввожу импорт вручную (показано ниже), я получаю Cannot resolve symbol 'common',

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

Любая идея, что мне нужно сделать, чтобы получить GooglePlayServicesUtil Разрешить?

Что я пробовал

В настройках Google Play Services, похоже, мне просто нужно добавить com.google.android.gms:play-services:4.+ зависимость от моего build.gradle файл (и повторно синхронизировать файлы проекта с Gradle), чтобы сделать SDK доступным для моего проекта. Я получаю "взорванную связку" в ProjectName/module/build/exploded-bundles, но это не похоже, что это делает трюк.

У меня уже есть службы Google Play, репозиторий поддержки Android и репозиторий Google, установленные из SDK Manager. Я также удалил и переустановил их несколько раз:)

Редактировать:

Могу ли я вручную добавить google_play_services в качестве проекта / глобальной библиотеки? Я пытался безуспешно.

Я пытаюсь проверить, что я работаю с API платформы с помощью Google Services (если это вообще возможно), но я не уверен, что это так. Ничто, что я изменяю, кажется, ничего не делает.

Внешние библиотеки моего проекта показывают:

  • <Платформа Android API 19>
  • <1.7 >
  • Joda время-2,3
  • опорно-v4-13.0.0

Исходный код

Это мой файл 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'
}

com.google.android.gms.version номер разрешается нормально в моем манифесте. Вот мой файл 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>

Вот мой MainActivity, где я пытаюсь проверить, доступен ли GooglePlayServices:

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());
    }
}

7 ответов

Решение

Попробуйте сделать это один раз и убедитесь, что вы не получаете никаких ошибок в структуре проекта, говоря, что "ComGoogleAndroidGmsPlay не добавлен"

открыто File > Project Structure и проверьте ниже всего. Если отображается ошибка, нажмите на красную лампочку и нажмите "Добавить в зависимость".

GMS зависимость

Эта ошибка в Android Studio исправлена ​​в следующем выпуске (0.4.3)

У меня была похожая проблема Не удается решить com.google.android.gms.common.

Я следовал руководству по установке http://developer.android.com/google/play-services/setup.html и все работает!

Резюме:

  1. Установленные / обновленные сервисы Google Play и Google Repository из SDK Manager
  2. Добавлена ​​зависимость в build.gradle: compile 'com.google.android.gms:play-services:4.0.30'
  3. Обновлен AndroidManifest.xml с <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

Я решил проблему, установив пакет служб Google Play в SDK Manager.

После этого создайте новое приложение и в build.gradle добавьте это

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

Как это

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:4.3.+'
}

После нескольких часов возникновения той же проблемы, обратите внимание, что если ваш jar находится в папке libs, это вызовет проблему, как только вы установите его на "Зависимости", поэтому я просто комментирую зависимости дерева файлов и оставляю тот, используя

зависимости

//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'

и проблема была решена.

Я только что опробовал твой build.gradle и я работал нормально для импорта GMS, так что это не проблема.

Это было с Google Play services (rev 13) а также Google Repository (rev 4), Проверьте те, которые установлены еще раз:)

У меня та же проблема. Я просто попытался восстановить, очистить и перезапустить, но не повезло. Тогда я просто удаляю

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

из build.gradle и повторной синхронизации. После этого я ставлю его снова и повторно синхронизирую. Рядом с этим я очищаю проект, и проблема исчезла!!

Я надеюсь, что это поможет любому из вас столкнуться с тем же.

//gradle.properties

systemProp.http.proxyHost = www.somehost.org

systemProp.http.proxyPort = 8080

systemProp.http.proxyUser = идентификатор пользователя

systemProp.http.proxyPassword = пароль

systemProp.http.nonProxyHosts=* nonproxyrepos.com|. локальный

Другие вопросы по тегам