7

Я использую Ubuntu 14, Android Studio 0.8.6. Я использую Genymotion для запуска приложения, ответ я получаю, это:Android-студия с Google Play: сервисы Google Play отсутствуют

W/GooglePlayServicesUtil﹕ Google Play services is missing. 

Пробовал решение Import Google Play Services library in Android Studio, а также от Android Studio with Google Play Services. Установлены следующие пакеты из Android SDK Manager: Android Support Repository, Android Support Library, Google Play, Google Repository.

Я пытаюсь запустить действие по умолчанию для Android Studio (активность карты). Вот файл манифеста:

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MapsActivity" 
      android:label="@string/title_activity_maps" > 
      <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.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="@string/google_maps_key" /> 
    </application> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

Зависимости от build.gradle:

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

по умолчанию MapsActivity.java:

import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 

import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class MapsActivity extends FragmentActivity { 

    private GoogleMap mMap; // Might be null if Google Play services APK is not available. 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     setUpMapIfNeeded(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     setUpMapIfNeeded(); 
    } 

    private void setUpMapIfNeeded() { 
     // Do a null check to confirm that we have not already instantiated the map. 
     if (mMap == null) { 
      // Try to obtain the map from the SupportMapFragment. 
      mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
        .getMap(); 
      // Check if we were successful in obtaining the map. 
      if (mMap != null) { 
       setUpMap(); 
      } 
     } 
    } 

    private void setUpMap() { 
     mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker")); 
    } 
} 

Что я упускаю, что может быть проблема? Любая помощь очень ценится.

спасибо.

ответ

8

Получил решение. Придется сделать две вещи: установите версию Play Services ниже: 5.0.89. Последняя версия не была доступна для загрузки с любого (виртуального) устройства, которое я тестировал, требуемого обновления.

Во-вторых, чтобы установить службы Google Play на Genymotion VM, следуйте инструкциям по этой ссылке: How to install Google Play Services in a Genymotion VM (with no drag and drop support)?.

Cheers.

6

Другим решением является изменение цели вашего эмулятора к API Google

enter image description here

Чтобы протестировать приложение при использовании Google Play Services SDK, вы должны использовать Android эмулятор с АДВ которая запускает платформу Google API на основе Android 4.2.2 или новее. Source

0

решение Ojonugwa является хорошим, но кроме того, существует проблема с последней версией Google Play Services не доступны на эмуляторе. Однако подходящая версия Служб Google Play доступна на эмуляторах, работающих под управлением API версии 21 или 19.

В настоящее время решение заключается в создании нового AVD с версией API 21 или 19 и целевых API Google (а не Andriod xxx). Если вы используете Google API AVD с API версии 21 или 19, он должен работать должным образом.

https://github.com/googlesamples/google-services/issues/32