7

Używam Ubuntu 14, Android Studio 0.8.6. Używam Genymotion do uruchamiania aplikacji, odpowiedź mam, to:Android Studio z Google Play: brak usług Google Play

W/GooglePlayServicesUtil﹕ Google Play services is missing. 

Wypróbowane rozwiązanie Import Google Play Services library in Android Studio, również z Android Studio with Google Play Services. Zainstalowano następujące pakiety z Menedżera Androida SDK: repozytorium pomocy technicznej dla Androida, biblioteka pomocy Androida, usługi Google Play, repozytorium Google.

Próbuję uruchomić domyślną aktywność Android Studio (działanie mapy). Oto plik manifestu:

<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" /> 

zależne od build.gradle:

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

Domyślna 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")); 
    } 
} 

Co mi brakuje, co może być problemem? Każda pomoc doceniona.

Dziękuję.

Odpowiedz

8

Masz rozwiązanie. Musiał zrobić dwie rzeczy - ustawić wersję Usług Play na niższą: 5.0.89. Ostatnia wersja nie była dostępna do pobrania z żadnego (wirtualnego) urządzenia, które przetestowałem, wymaganej aktualizacji.

Po drugie, aby zainstalować Usługi Google Play na maszynie Genymotion VM, należy postępować zgodnie z instrukcjami pod tym linkiem: How to install Google Play Services in a Genymotion VM (with no drag and drop support)?.

Pozdrawiam.

6

Innym rozwiązaniem jest zmiana cel swojego emulatora API Google

enter image description here

Aby przetestować aplikację podczas korzystania z usługi Google Play SDK, należy użyć Android emulatora z AVD który uruchamia platformę API Google opartą na systemie Android 4.2.2 lub nowszym. Source

0

rozwiązanie Ojonugwa jest dobra, ale dodatkowo istnieje problem z najnowszą wersją usługi Google Play nie jest dostępna na emulatorze. Jednak odpowiednia wersja Usług Google Play jest dostępna na emulatorach z interfejsem API w wersji 21 lub 19.

Obecne rozwiązanie polega na utworzeniu nowego AVD z wersją API 21 lub 19 i docelowymi interfejsami API Google (nie Andriod xxx). Jeśli używasz interfejsu API Google API AVD z interfejsem API 21 lub 19, powinien działać zgodnie z oczekiwaniami.

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