android / android/android-test
Espresso-contrib 3.4 - protobuf-lite:3.0.1 dependency causing exception on startup when used with Firebase libraries
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 342
- Merge medio
- 11h 29m
- PR unite (30g)
- 2
Descrizione
### Description
After update from 'androidx.test.espresso:espresso-contrib:3.3.0' to 'androidx.test.espresso:espresso-contrib:3.4.0' all my instrumentation tests fail.
### Steps to Reproduce
use androidTestImplementation ('androidx.test.espresso:espresso-contrib:3.4.0')
and Firebase Analytics, Performace, Crashlytics
Run Espresso test.
### Expected Results
No exception, working tests.
### Actual Results
Exception on startup:
java.lang.NoSuchMethodError: No static method registerDefaultInstance(Ljava/lang/Class;Lcom/google/protobuf/GeneratedMessageLite;)V in class Lcom/google/protobuf/GeneratedMessageLite; or its super classes (declaration of 'com.google.protobuf.GeneratedMessageLite' appears in /data/app/~~STQIHCcHI7MbyT9nY0yblg==/cz.aldor.espresso34.test-QbLfUoHzQe8ZCBAb4Mzrlg==/base.apk)
works with this exclude
androidTestImplementation ('androidx.test.espresso:espresso-contrib:3.4.0'){
exclude module: "protobuf-lite"
}
### AndroidX Test and Android OS Versions
Tested on API 30 device and API 29 AVD.
androidTestImplementation 'androidx.test:core-ktx:1.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation ('androidx.test.espresso:espresso-contrib:3.4.0')
implementation 'com.google.firebase:firebase-analytics-ktx:19.0.0'
implementation 'com.google.firebase:firebase-crashlytics-ktx:18.1.0'
implementation 'com.google.firebase:firebase-perf-ktx:20.0.1'
### Link to a public git repo demonstrating the problem:
https://github.com/AlmightyCZ/Espresso_3_4_protobuf_bug
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal repository pubblico collegato e riproduci il fallimento all’avvio usando espresso-contrib 3.4.0 insieme alle librerie Firebase elencate sulle versioni Android segnalate. Confronta gli insiemi di dipendenze di 3.3.0 e 3.4.0 e verifica che i test di strumentazione si avviino senza richiedere l’esclusione di protobuf-lite.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, firebase
- Ambito
- build-system, mobile, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 45/100