Подтвердить что ты не робот

Импортировать библиотеку Google Play Services в Android Studio

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

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

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

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

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

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

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

Edit:

Возможно, мне нужно вручную добавить google_play_services в качестве Project/Global Library? Я попытался без успеха.

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

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

  • < Android API 19 Platform >
  • < 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:[email protected]'
}

Число 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());
    }
}
4b9b3361

Ответ 1

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

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

GMS dependency

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

Ответ 2

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

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

Резюме:

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

Ответ 3

Я решил проблему, установив пакет услуг Google Play в диспетчере sdk.

После этого создайте новое приложение, а в 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.+'
}

Ответ 4

После нескольких часов работы с такой же проблемой обратите внимание, что если ваша 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'

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

Ответ 5

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

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

Ответ 6

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

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

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

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

Ответ 7

//gradle.properties

systemProp.http.proxyHost = www.somehost.org

systemProp.http.proxyPort = 8080

systemProp.http.proxyUser = идентификатор

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

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