Google Play Services missing on Android 2.2 emulator while using Google Maps API v2
Solution 1
"To test your app when using the Google Play services SDK, you must use The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2 or higher."
From http://developer.android.com/google/play-services/setup.html
Solution 2
To test your app when using the Google Play services SDK, you must use either:
A compatible Android device that runs Android 2.3 or higher and includes Google Play Store. The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2 or higher.
Solution 3
Please check the link http://developer.android.com/google/play-services/setup.html
there is clearly mentioned that you must provide a physical development device on which you can run and debug your app.
Note: Google Play services is not supported on the Android emulator — to develop using the APIs, you need to provide a development device such as an Android phone or tablet.
Anar Bayramov
Senior Software Developer. [email protected] https://www.anar-bayramov.com
Updated on November 18, 2020Comments
-
Anar Bayramov over 3 years
Hey I am trying to use Google Maps on my emulator even though I've installed Google Play Services library when I run the app it says
This app won't run without Google Play Services which are missing from your phone
on LogCat I get the warning about it but not really sure why I am getting this.
my MainActivity.java
package com.mapsmaps; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GoogleMap mapa = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" /> </RelativeLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mapsmaps" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" /> <permission android:name="com.mapsmaps.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.mapsmaps.permission.MAPS_RECEIVE" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" />F <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.mapsmaps.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> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyBdbj4iXi0SijKjJDrJw5RigtSpQcaID7Q" /> </application> </manifest>
LogCat -
D/dalvikvm(451): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp W/dalvikvm(451): VFY: unable to resolve instance field 24 D/dalvikvm(451): VFY: replacing opcode 0x52 at 0x0012 D/dalvikvm(451): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing. W/GooglePlayServicesUtil(451): Google Play services is missing.