Cette application ne fonctionnera pas à moins que vous la mise à jour de Google Play Services (via le Bazar)

Je vais tester la nouvelle version de Google Maps API V2 pour Android, et je reçois ce message lorsque l'application est lancée:

Cette application ne fonctionnera pas à moins que vous la mise à jour de Google Play Services (via le Bazar)

C'est en cours d'exécution sur un 4.1 émulateur.

Voici mon AndroidManifest.xml fichier:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.maptest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <permission
        android:name="com.example.maptest.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.maptest.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!-- Require OpenGL ES version 2 -->
    <uses-feature
          android:glEsVersion="0x00020000"
          android:required="true"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <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="##myapikey##"/>

    </application>
</manifest>

Fichier MainActivity.java:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

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

    <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.MapFragment"/>
</RelativeLayout>

Cliquant sur le bouton "mise à Jour" qui bloque l'application avec le suivant stacktrace:

E/Trace(1034): error opening trace file: No such file or directory (2)
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
D/gralloc_goldfish(1034): Emulator without GPU emulation detected.
D/AndroidRuntime(1034): Shutting down VM
W/dalvikvm(1034): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
E/AndroidRuntime(1034): FATAL EXCEPTION: main
E/AndroidRuntime(1034): android.content.ActivityNotFoundException: No Activity found to handle Intent
{ act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details? \
id=com.google.android.apps.bazaar flg=0x80000 pkg=com.android.vending }
E/AndroidRuntime(1034):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
E/AndroidRuntime(1034):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
E/AndroidRuntime(1034):     at android.app.Activity.startActivityForResult(Activity.java:3351)
E/AndroidRuntime(1034):     at android.app.Activity.startActivityForResult(Activity.java:3312)
E/AndroidRuntime(1034):     at android.app.Activity.startActivity(Activity.java:3522)
E/AndroidRuntime(1034):     at android.app.Activity.startActivity(Activity.java:3490)
E/AndroidRuntime(1034):     at com.google.android.gms.internal.c$2.onClick(Unknown Source)
E/AndroidRuntime(1034):     at android.view.View.performClick(View.java:4084)
E/AndroidRuntime(1034):     at android.view.View$PerformClick.run(View.java:16966)
E/AndroidRuntime(1034):     at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(1034):     at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(1034):     at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(1034):     at android.app.ActivityThread.main(ActivityThread.java:4745)
E/AndroidRuntime(1034):     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1034):     at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(1034):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/AndroidRuntime(1034):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime(1034):     at dalvik.system.NativeStart.main(Native Method)

J'ai aussi mentionné le Google Play Services du projet. Ce que je fais mal ici?

Mise à JOUR

Le bogue correspondant dans Google issue tracker (https://issuetracker.google.com/issues/35822258) a été résolu il y a quelques temps.

Maintenant, vous pouvez utiliser Google Maps API Android émulateur et de créer des périphériques Virtuels avec Jouer de services, comme indiqué dans cette réponse:

https://stackoverflow.com/a/46246782/5140781

  • Êtes-vous à l'aide de l'avd avec l'api de google ou de la plaine android?
  • Plaine Android, bien que j'ai juste essayé de passer à l'API de Google pour 4.1 et c'est la même chose.
  • Assez étrangement, je suis à la recherche d'exactement le même problème exactement au même moment. Je suis en supposant qu'il est parce que le Google Play APK n'est pas installé sur l'Émulateur. L'erreur est parce que l'application est en train d'essayer de lancer Google Play (le magasin) pour installer l'APK. Il va probablement fonctionner sur un appareil.
  • Oui, il semble de cette façon, n'est-ce pas? L'installation des Services Google docs disent rien sur l'installation de l'application lecture bien: developer.android.com/google/play-services/setup.html
  • L'absence d'autres références à ce problème me fait penser que c'est assez récent bug. Je ne peux pas aider mais pense que j'ai raté quelque chose dans la configuration, mais j'ai vécu quelques temps maintenant. Ce serait littéralement prendre 5 minutes pour configurer sur iOS assez ennuyeux 🙁
  • oui, vous avez raison iOS 6 cartes sont géniales!
  • Comment parler de l'échantillon fourni, MapDemo, cela fonctionne pour vous? Le mien se bloque sur le même émulateur avec une ExceptionInInitializationError
  • Je n'ai pas essayé encore. Ma prochaine étape serait probablement à essayer sur un appareil, mais malheureusement, ma femme a pris ma nexus 7 de travail. J'ai eu beaucoup de périphériques au travail donc je vais essayer ça demain au bureau. Je vais vous laisser savoir ici si il fonctionne très bien. Il y a d'autres posts avec des personnes ayant des problèmes sur l'appareil quand il fonctionne sur émulateur si, en raison de touches d'appareil). stackoverflow.com/questions/8682580/...
  • googlegeodevelopers.blogspot.com - suggère qu'une nouvelle version est sorti aujourd'hui. Grande libération de Google 🙂
  • Soulevées - code.google.com/p/gmaps-api-issues/issues/detail?id=4627
  • Eh bien, je suis en utilisant cette nouvelle API, je pensais que vous étiez trop?
  • Oui, à l'aide de la nouvelle. Je voudrais revenir à l'ancienne mais n'a pas l'air possible?
  • Non, pas vraiment.
  • Comment mettre en place rapide d'un émulateur pour Android sur Linux?
  • vérifier cette mise à jour de la réponse

InformationsquelleAutor soren.qvist | 2012-12-03