web-dev-qa-db-fra.com

Services Google Play obsolètes. Nécessite 11011000 mais trouvé 10289574

Je me bats avec ce problème à propos de la semaine maintenant. Je cherchais des sujets similaires à ce sujet mais je ne pouvais toujours pas résoudre mon problème.

Le problème est que, lorsque j'essaie d'exécuter mon programme sur un émulateur d'usure Polar m600 (Android V 7.1.1 et API25), ils m'indiquent le message "Services Google Play obsolètes. Nécessite 11011000, mais 10289574 trouvés" .

J'ai suivi la partie "Obtenir le dernier emplacement connu" sur le site du développeur Android. (Lien vers le site https://developer.Android.com/training/location/retrieve-current.html#play-services )

Voici mon code de Mainactivity que j'utilise

public class MainActivity extends Activity {

private FusedLocationProviderClient mFusedLocationClient;
public Location mLastLocation;
private TextView mTextView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            mTextView = (TextView) stub.findViewById(R.id.text);
        }
    });

    mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
    if (ActivityCompat.checkSelfPermission(this, Android.Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Android.Manifest.permission.ACCESS_COARSE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    mFusedLocationClient.getLastLocation()
            .addOnSuccessListener(this, new OnSuccessListener<Location>() {
                @Override
                public void onSuccess(Location location) {
                    mLastLocation = location;
                    Log.d("Location is:",""+mLastLocation);

                    if (location != null) {

                    }
                }
            });

}
}

Voici mon manifest.xml`

<uses-feature Android:name="Android.hardware.type.watch" />

<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />

<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:supportsRtl="true"
    Android:theme="@Android:style/Theme.DeviceDefault">
    <meta-data Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version" />
    <activity
        Android:name=".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>
</application>

Et le dernier mais non le moindre mon build.gradle

Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "ims.fhj.at.testnavigators"
    minSdkVersion 21
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
     }
  }
 }

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.Android.support:wearable:2.0.3'
compile 'com.google.Android.gms:play-services-wearable:11.0.1'
compile 'com.google.Android.gms:play-services:11.0.1'}
21
Foul.H

Créez un émulateur Nexus 5x avec la version Android O - api 26 - version x86 ou Android Nougat - api 24 - x86  Nexus 5x

 enter image description here

Cliquez ensuite sur les 3 points de l'émulateur pour ouvrir la fenêtre étendue. Cliquez ensuite sur Google Play + update. Et cela mettra à jour Google Play Services vers la dernière mise à jour du 11.0.55 aujourd’hui.

 enter image description here

39
Uriel Frankel

Vous devez rétrograder l'API dans un fichier de dégradé portable.

Le problème est que votre appareil ne dispose pas d'une application à jour des services Google Play.

Pour résoudre ce problème, changez ceci:

compile 'com.google.Android.gms:play-services-wearable:10.0.0'
compile 'com.google.Android.gms:play-services:10.0.0'
2
Vyacheslav

Ma solution est vraiment bizarre: J'ai donc cliqué sur Supprimer la mise à jour et la version a été remplacée par 11xxxxxx.

2
AccTest

Le problème ici est la disparité des services de Google Play (version) sur le fichier émulateur et fichier gradle.

Il peut être résolu de deux manières:

  1. Supprimez l'incompatibilité en rétrogradant la version des services de Google Play (Version) dans le fichier gradle vers le Services Google Play (version) de l'émulateur.

  2. Mettez à niveau les Services Google Play sur l'émulateur.

1
Ashish Prasad Sah

Comme String l'a écrit, les services de jeu ne sont pas mis à jour sur l'appareil ..__ Malheureusement, dans un monde WearOS, les services de jeu sont peut-être à jour, mais ils ne sont tout simplement pas disponibles sur les périphériques portables. Dans ce cas, vous pouvez utiliser les méthodes suivantes pour réagir:

GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int result = apiAvailability.isGooglePlayServicesAvailable(this);
if (result != ConnectionResult.SUCCESS) {
    ... 
} else {
     apiAvailability.getErrorDialog(this, result, REQUEST_CODE,this).show();
}
0
promanowicz

Cela fait des années que ce problème se pose avec Wear (voir par exemple Android Wear Google Play Services ). 

La meilleure solution semble être de ne pas utiliser la dernière version de Play Services. Une option consiste à trouver une version minimale qui semble couvrir vos périphériques de production ciblés; dans votre cas, cela ressemble à quelque chose dans la gamme 10.2. Sinon, choisissez la version la plus basse qui inclut toutes les fonctionnalités dont vous avez besoin (j'utilise personnellement la version 9.8.0).

Pour référence, voici l'historique des versions de Play Services: https://developers.google.com/Android/guides/releases

0
String

Parfois, cette erreur peut se produire lorsque vous transmettez la mauvaise valeur Web-client-id

val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(**web-client-id here**)
                .requestEmail()
                .build()

 Use the value in the OAuth client id section indicated Web client (auto created by google service)

Utilisez la valeur indiquée dans la section ID client OAuth indiquée sur le client Web (créé automatiquement par le service Google).

0
Jeffrey Nyauke