I have an Android project that was developed entirely in Android Studio (currently version 4.2, gradle version 1.9-all). I want to add functionality from Google Play services.
The project cannot resolve GooglePlayServicesUtil , and when I enter the import manually (shown below), I get Cannot resolve symbol 'common' .
import com.google.android.gms.common.GooglePlayServicesUtil;
Any idea what I need to do to enable GooglePlayServicesUtil ?
What i tried
From Configuring Google Play Services , it looks like I just need to add the com.google.android.gms:play-services:4.+ dependency com.google.android.gms:play-services:4.+ to my build.gradle file (and the resync project files using gradle) to make the SDK available to my project. I get an βexploded kitβ in ProjectName/module/build/exploded-bundles , but that doesn't seem like a trick.
I already have Google Play services, Android support repository and Google Repository installed from SDK manager. I also uninstalled and reinstalled them several times :)
Edit:
Maybe I need to manually add google_play_services as a Project / Global Library? I tried without success.
I am trying to verify that I am developing a platform API using Google Services (if possible), but I'm not sure if this is the case. Nothing of me changes anything.
The external libraries of my project show:
- <Android API 19 Platform>
- <1.7>
- Joda-Time 2.3
- Support-v4-13.0.0
Source
This is my ProjectName / module / build.gradle file:
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' }
The number of com.google.android.gms.version in my manifest stops. Here is my ProjectName / module / src / main / AndroidManifest.xml file:
<?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>
Here is my MainActivity where I am trying to check if GooglePlayServices is available:
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()); } }