2017-10-16 4 views
1

Je travaille sur une application android, qui doit utiliser gRPC et Firestore. Cependant, quand j'ai ajouté à la fois un des modules de la dépendance de groupe 'io.grpc' (par exemple io.grpc: grpc-okhttp: 1.7.0) et une dépendance de firestore (com.google.firebase: firebase-firestore: 11.4.2) dans la config de build gradle, j'ai une erreur de construction "Impossible de fusionner dex". Après avec l'option « stacktrace » construire, j'ai vu que le problème estCloud Firestore avec erreur de construction gRPC

Multiple dex files define Lio/grpc/internal/OobChannel$5; 

Il pourrait se produire si FireStore utilise le module grpc-core, mais il n'y a pas de semblable dans les dépendances d'arbres, que je suis arrivé à l'aide [androidDependencies] gradle tâche. J'ai essayé d'exclure io.grpc comme ceci:

implementation ('com.google.firebase:firebase-firestore:11.4.2') { 
    exclude group: 'io.grpc' 
} 

mais il y avait la même erreur. Alors j'ai pensé que si j'exclu toutes les dépendances transitives «io.grpc.» Des dépendances de module grpc avec l'ajout de grpc-core pour les classes internes. De cette façon, je l'ai écrit dépendances laid juste pour tester

implementation 'com.google.firebase:firebase-firestore:11.4.2' 
implementation('io.grpc:grpc-okhttp:1.7.0') { 
    exclude group: 'io.grpc' 
} 
implementation('io.grpc:grpc-protobuf-lite:1.7.0') { 
    exclude group: 'io.grpc' 
} 
implementation('io.grpc:grpc-stub:1.7.0') { 
    exclude group: 'io.grpc' 
} 
implementation 'io.grpc:grpc-core:1.7.0' 

J'ai été surpris quand il a compilé avec succès, mais après application de lancement, il est écrasé avec java.lang.RuntimeException: Erreur interne Firestore (0.6.6-dev J'utilise la graduation 3.0.0-rc1 avec le support multidex. J'ai supprimé .gradle, construire des répertoires, nettoyé le projet reconstruit, mais j'ai toujours l'erreur de construction. Que puis-je faire pour résoudre ce problème?

Répondre

3

En raison d'une variété de facteurs qui limitent la façon dont nous construisons les SDK Android chez Google, Firestore promeut une copie de gRPC en son sein. Malheureusement, cela fuit et vous êtes confronté aux retombées: le 11.4.2 Firestore SDK est incompatible avec tout gRPC externe :-(

Ceci est essentiellement notre numéro le plus important pour le Firestore Android SDK et je suis désolé que vous

+0

Merci pour la réponse rapide, espérons que ce problème sera résolu! –