10
votes

"Pas de module acceptable trouvé" sur les émulateurs Android à l'aide de com.google.android.gms Play-Services 9.2.0

J'ai récemment mis à jour à com.google.android.gms: Play-Services 9.2.0 Et je tente d'utiliser la nouvelle bibliothèque de chromecast et Firebase Analytics, mais je reçois l'erreur "com.google.android.gms.internal. zzsj $ zza: aucun module acceptable trouvé. La version locale est 0 et la version distante est 0. " Dans l'activité méthode oncreate chez com.google.android.gms.cast.framework.CastContext. (Source inconnue). Des idées si cela est dû à la fonctionnalité de distribution ne travaillant pas avec les émulateurs ou si c'est une question de version? Les émulateurs que je teste sont en cours d'exécution 5.0 et 5.1. xxx

merci


1 commentaires

J'ai reçu un message d'erreur que "Aucun module acceptable trouvé. La version locale est 0 et la version distante est 0", j'ajoute la permission d'exécution et le problème résolu.


3 Réponses :


11
votes

La version des services de jeu sur votre émulateur ne prend pas en charge 9.2.0. À ce stade, je ne pense pas que l'une des images de l'émulateur prend en charge 9.2.0. Vos options sont à dégrader à 9.0.2 ou exécutées sur un périphérique réel jusqu'à ce qu'une image émulatrice mise à jour est libérée.

Si vous regardez attentivement votre sortie LogCat, vous devez voir un message comme celui-ci: P>

public class InitActivity extends AppCompatActivity {
    private static final String TAG = "InitActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        GoogleApiAvailability googAvail = GoogleApiAvailability.getInstance();

        int status = googAvail.isGooglePlayServicesAvailable(this);
        Log.i(TAG, "onCreate: Status= " + googAvail.getErrorString(status));

        googAvail.makeGooglePlayServicesAvailable(this)
                .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                Log.i(TAG, "onComplete: Done");
                if (task.isSuccessful()) {
                    Log.i(TAG, "onComplete: Starting VideoBrowser");
                    startActivity(new Intent(InitActivity.this, VideoBrowserActivity.class));
                    finish();
                } else {
                    Log.e(TAG, "onComplete: RESOLUTION FAILED");
                }
            }
        });
    }
}


3 commentaires

Merci qbix. Peut-être que je devrais re-penser en utilisant cette version un peu. Dommage que la fonctionnalité moulée était très améliorée.


Merci pour l'échantillon. Après avoir creusé, il apparaît que le crash se produit lorsque CastContext.getsharedinstance () est appelé, que j'appelle réellement à partir d'un service. Votre approche, bien que parfaitement valable, n'est pas du tout développant et convivial. La Cast V2 était une douleur exactement en raison de la plaque de chaudière de la chaudière Google API: Flux de connexion, des erreurs, des rappels et des résolutions d'utilisateurs tels que des activités d'ouverture et d'attendre les résultats, tout pour appeler LoadMedia d'une URL simple ... I Devinez la suppression de toutes ces centaines de lignes de code et de passer à V3 n'était pas une bonne idée.


Cela ressemble à un problème important qui mérite une question distincte. Bien que Google affirme que les mises à jour des services de lecture soient poussées sur les téléphones dans quelques jours, il y aura toujours des cas où un périphérique n'est pas la dernière version.



1
votes

Ce crash se produit également sur de vrais appareils avec GPS non mis à jour. J'utilise Google Cast SDK V3 et GPS 9.2.0

Je n'ai vu que nullement mentionné que l'appareil nécessite réellement le GPS 9.2.0 pour que le Cast V3 fonctionne. Quelle est la solution de contournement ou au moins une solution pour l'application de ne pas planter sur le démarrage?


4 commentaires

Je pense que la seule solution est que les utilisateurs puissent passer aux nouveaux services de jeu de mise à niveau et gérer les erreurs malheureusement.


Je n'utilise pas de coulée et je ne connais pas ses dépendances. En général, il est possible d'utiliser les méthodes de GoogleapiaVailabilité Pour résoudre les problèmes avec les services de jeu non présents ou non mis à jour à une version requise. Je me souviens qu'il y a un guide sur la façon de faire cela dans la documentation mais ne peut pas le trouver. Vous pouvez trouver quelques exemples ou plus d'informations si vous le recherchez.


@Qbix - Le Cast SDK V3 ne nécessite pas explicitement aucune interaction avec la disponibilité du client GPS en tant que fonctionnalité pour une utilisation simplifiée. L'exception se produit avant même que l'activité soit même créée, il n'y a donc aucun crochet réel pour remplacer et vérifier la disponibilité, etc. Malheureusement, parce que maintenant est trop simplifié pour travailler dans les coulisses, l'application se bloque simplement lorsque le dernier GPS n'est pas présent. On dirait un bug pour moi plus qu'une fonctionnalité.


J'ai mis à jour ma réponse en réponse à vos commentaires. J'espère que mes expériences étaient avec Cast SDK V3. Je vais vérifier cela maintenant.



0
votes

Quand j'ai mis à jour le application Google Play Developer Services , j'ai pu le résoudre.


1 commentaires

Cela ressemble plus à un commentaire et non à une réponse.