Импорт библиотеки сервисов 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
и проверьте ниже всего. Если отображается ошибка, нажмите на красную лампочку и нажмите "Добавить в зависимость".
Эта ошибка в Android Studio исправлена в следующем выпуске (0.4.3)
У меня была похожая проблема Не удается решить com.google.android.gms.common.
Я следовал руководству по установке http://developer.android.com/google/play-services/setup.html и все работает!
Резюме:
- Установленные / обновленные сервисы Google Play и Google Repository из SDK Manager
- Добавлена зависимость в 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" />
Я решил проблему, установив пакет служб 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|. локальный